不明白"#define for if-statement"

Pie*_*aud 5 c++ if-statement

我正在查看用于将lua包装到C++应用程序中的代码.

我很惊讶地发现这个:

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

我不明白这个意思.对我来说,做这样的事似乎没用.

它是否必须使用某些编译器技巧或其他东西?

PS:我正在看的图书馆是luabind.

aio*_*obe 6

我已经看到类似的东西来缓解编译器错误,其中for-variable的作用域泄露在for语句之外.

相关:/ Zc:forScope(for Loop Scope中的强制一致性).