gpt4 book ai didi

c++ - #if 中使用的未定义常量的值是多少?

转载 作者:IT老高 更新时间:2023-10-28 13:22:45 26 4
gpt4 key购买 nike

为了评估 #if 条件,我的预处理器似乎假定未定义的常量为 0。

这可以依赖,还是未定义的常量会给出未定义的行为?

最佳答案

是的,可以信赖。 C99 标准在 §6.10.1 ¶3 中指定:

After all replacements due to macro expansion and the defined unary operator have been performed, all remaining identifiers are replaced with the pp-number 0

编辑

对不起,我以为是 C 题;不过,没什么大不了的,C++ 标准(§16.1 ¶4)中的等效部分指出:

After all replacements due to macro expansion and the defined unary operator have been performed, all remaining identifiers and keywords, except for true and false, are replaced with the pp-number 0

唯一的区别是truefalse的处理方式不同,在C中不需要特殊处理,而在C++中即使在预处理中也有特殊含义阶段。

关于c++ - #if 中使用的未定义常量的值是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5085392/

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