在我当前的代码库中,我看到了以下模式:
#if SOMETHING_SUPPORTED+0 != 0
...
#endif
不幸的是,这是一个非常古老的代码库,没有人知道它是如何以及为什么开始的。我认为它是从 C 语言开始的,然后用类慢慢地转换成 C 语言,现在趋向于 C + +
我看不出使用前面的结构而不是“经典”结构有什么明显的优势,但也许我遗漏了什么:
#if SOMETHING_SUPPORTED
...
#endif
你知道为什么要用 #if MACRO+0 != 0
而不是 #if MACRO
吗?