读书人

关于用#if 0 . #endif 来注释代码

发布时间: 2012-04-24 14:15:38 作者: rapoo

关于用#if 0 ... #endif 来注释代码...
const int N = 1;

... ...
#if N == 0
代码段_1
#else
代码段_2
#endif


不管const int N为几,都是编译出代码段_1。
如果换成const int N = 1;换成#define N 1 就可以编译出代码段_1,为什么?

[解决办法]
const int N,这样的值是 这是编译期才知道的。
而预处理是在编译期之前的处理的,所以没发知道具体点值。默认就给你0值了。
而#define和#if都是一样在编译期处理的,所以能够正常处理。

读书人网 >C++

热点推荐