如果仅在未定义的情况下要定义一个值,则执行以下操作:

#ifndef THING
#define THING OTHER_THING
#endif

如果THINGtypedef'd标识符,但未定义怎么办?我想做这样的事情:
#ifntypedef thing_type
typedef uint32_t thing_type
#endif

之所以出现此问题,是因为我想检查外部库是否已经定义了boolean类型,但是我愿意听一个更通用的解决方案。

最佳答案

在预处理阶段,C++中没有这样的工具。最大可以做的是

#ifndef thing_type
#define thing_type uint32_t
#endif

虽然这不是一个好的编码实践,但我不建议这样做。

09-07 06:37
查看更多