stdbool.h:#define true true

时间:2016-12-09 16:19:14

标签: c++ gcc c++98

stdbool.h包含以下代码:

#if __cplusplus < 201103L
/* Defining these macros in C++98 is a GCC extension.  */
#define bool    bool
#define false   false
#define true    true
#endif

为什么gcc需要重新定义标准C ++类型?

1 个答案:

答案 0 :(得分:0)

虽然#define fnord fnord通常不会更改标识符fnord的处理方式,但会导致#ifdef fnord按照定义报告宏。如果其他代码可能会执行类似

的操作
#ifndef true
#define true 1
#endif

拥有#define true true会导致跳过此类条件定义。