如果我只想定义一个未定义的值,我会这样做:
#ifndef THING
#define THING OTHER_THING
#endif
如果THING
是一个typedef
的标识符,但没有定义呢?我想这样做:
#ifntypedef thing_type
typedef uint32_t thing_type
#endif
出现这个问题是因为我想判断外部库是否已经定义了boolean
类型,但我愿意听到一个更通用的解决方案.
如果我只想定义一个未定义的值,我会这样做:
#ifndef THING
#define THING OTHER_THING
#endif
如果THING
是一个typedef
的标识符,但没有定义呢?我想这样做:
#ifntypedef thing_type
typedef uint32_t thing_type
#endif
出现这个问题是因为我想判断外部库是否已经定义了boolean
类型,但我愿意听到一个更通用的解决方案.
没有,在预处理阶段C++中没有这样的设施.我能做的最多就是
#ifndef thing_type
#define thing_type uint32_t
#endif
虽然这不是一个好的编码实践,我不建议这样做.