您可以在这里快速查找:


 
您的位置: 编程学习 > C++/VC > 200601
文章分类

Java技术
2005: 03 04 05 06 07 08
09 10 11 12
2006: 01 02

Asp.net
2005: 07 08 09 10 11 12
2006: 01 02

VB编程
2006: 02

Asp编程
2005: 11 12
2006: 01 02

C++/VC
2005: 10 11 12
2006: 01 02

Delphi
2005: 12
2006: 01 02

其它

 本文章适合所有读者

C++技巧之五

cwxiao888

 

   // Original do/while Macro //原始的do/while #define MY_ASSERT_ONE(x) do { \                    if (!(x)) {\                                      _asm int 3 \                    } \                    }  while(0) // new Macro that removes the loop // 新宏移去了loop #define MY_ASSERT_ONE(x) { \                    if (!(x)) {  \                                         _asm int 3  \                    } \                    }

 

代码清单 4 避免一个编译器错误

 (a). /* This code will cause a compile error *//* 此段代码将产生一个编译器错误 */void main(void){                    int i = 10;                   printf("i: %d\n", i);                    int j = 100;  /* This statement will cause a compiler error since                                            it was not declared at the top of the function. */
/* 此语句将导致一个编译器错误,
因为它未在函数顶部声明过。 */                     printf("j: %d\n", j);} (b). /* whereas this code will not *//*而此段代码将不产生一个编译器错误*/void main(void){                    int i = 10;                    printf("i: %d\n", i);                    {                                         int j = 100;            /* This statement is fine since it is akin                                                                                 to defining a local function within the function.  */
/* 此语句很精炼,
因为它在函数中定义了一局部函数的同族。*/                                         printf("j: %d\n", j);                    }}