【发布时间】:2017-10-17 19:29:23
【问题描述】:
我遇到了这些行:
#define bool bool
#define false false
#define true true
我想我不需要多说“wtf?”,但要明确一点:给自己定义一些东西有什么意义?
线路来自clang stdbool.h
【问题讨论】:
-
只是好奇:你在哪里见过这个?
-
这基本上只是停止宏扩展。检测到递归宏引用,并阻止进一步扩展。
-
@rsp 这是一个 C++ 链接,而不是 C。
-
这样您就可以使用
#ifdef进行功能测试。请注意,您正在查看的代码仅适用于 C++,特别是旧版本 C++ 标准的 gcc 扩展。 -
@klutt:这取决于你;我只是将引用的代码放在上下文中。观察 #ifndef __cplusplus / #else 条件句
标签: c c-preprocessor self-reference