gpt4 book ai didi

c++ - 如何在一行中检查没有定义任何预处理器宏?

转载 作者:太空宇宙 更新时间:2023-11-04 05:12:00 24 4
gpt4 key购买 nike

如果至少定义了一个宏,则很容易在一行中检查:

#if defined(A) || defined(B) || defined(C)
// do something
#endif

如果至少有一个宏未定义,也检查单行:

#if !defined(A) || !defined(B) || !defined(C)
// do something
#endif

问题:如何检查没有定义任何宏的一行?

我可以用 ifndefs 在三行中完成,如下所示:

#ifndef A
#ifndef B
#ifndef C
// do something
#endif
#endif
#endif

但是如何将三个 ifndef 连接成一行呢?

最佳答案

模拟你的嵌套#ifndef:

#if !defined(A) && !defined(B) && !defined(C)
// do something
#endif

这检查没有定义。您说您想要“至少有一个未定义”,但是您的示例中包含 ||

关于c++ - 如何在一行中检查没有定义任何预处理器宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46426279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com