小编Jer*_*ler的帖子

#elseif vs #elif(C/C++预处理器)

我发现写作

#ifdef ...
#elseif defined(...)
#else
#endif
Run Code Online (Sandbox Code Playgroud)

总是导致使用#ifdef或#else条件,而不是#elseif.但是替换#elif会导致它根据定义的内容按预期工作.#elseif的存在是否有什么令人费解的目的?如果没有,为什么预处理器不抱怨?

也许这就是为什么多年(几十年,真的),我一直在使用丑陋的#else/#endif块,因为至少它们是可靠的!

c++ conditional-compilation c-preprocessor

7
推荐指数
1
解决办法
4258
查看次数