相关疑难解决方法(0)

"#define for if(false){} else for"的可能用途是什么?

在另一个问题中,我刚刚发现了C智慧的这颗小珍珠:

#define for if (false) {} else for
Run Code Online (Sandbox Code Playgroud)

这导致MSVC为一个非常有效的声明吐出"常量表达式"警告:

for (int i = 0; i <= 10; i++) {...}
Run Code Online (Sandbox Code Playgroud)

我理解为什么 MSVC抱怨,因为它扩展到:

if (false) {} else for (int i = 0; i <= 10; i++) {...}
Run Code Online (Sandbox Code Playgroud)

我只是不明白为什么开发人员会使用那个小片段.有人有想法吗?

c c-preprocessor

45
推荐指数
2
解决办法
7728
查看次数

标签 统计

c ×1

c-preprocessor ×1