-1

我遇到了一个由其他人编写的 C++ 头文件,它有一些我以前从未见过的编码约定。下面的代码在头文件中是否有效,如果有效,这种技术叫什么,为什么要使用它?

#if 0
    int test()
        return values = 0
                      = 1

#endif

请注意没有分号,没有大括号,并且在头文件中之前的任何地方都没有定义值。

4

3 回答 3

3

它被称为注释代码。
#if 0注释掉后面的所有代码,直到#endif遇到 an。

也许有人从一些伪代码开始,然后将其留待将来使用。

好读:
#IF ... #ENDIF 预处理器指令

于 2013-02-11T03:59:40.343 回答
1

这段代码永远不会被执行。#if 0说,当0 为真时,将以下代码块放入最终文件中。由于 0 始终为 false,因此该代码被有效地注释掉了。

int main(){
    #if 0
    lfaksjdf;lakjf;alskdjfa;lsdjf
    #endif
    return 0;
}

是完全合法的。

于 2013-02-11T04:01:04.337 回答
0
#if 0
    anything you want
#endif

'#if 0' 是一种注释代码的方法。它告诉预处理器不要在#if 和#endif 之间包含任何内容。

所以这只是一些伪代码,不需要有效。

于 2013-02-11T04:01:26.860 回答