gpt4 book ai didi

c++ - "#define"与 "#define 1"

转载 作者:行者123 更新时间:2023-12-01 14:03:47 28 4
gpt4 key购买 nike

1在以下示例中似乎没有必要(并且可能具有误导性),但是在用于检查 #ifdef 时我已经多次看到这种情况s:

#ifndef __NEWLIB_H__

#define __NEWLIB_H__ 1

使用上述与普通 #define __NEWLIB_H__ 是否有区别或原因? ?

最佳答案

1是真的,所以你可以在 #if 中使用宏测试。这对于头球后卫来说通常不是很有用,但它肯定不会受到伤害。对于可能在 bool 表达式中测试的其他宏,真值绝对有用。

有些人只是喜欢一致性。这就是 gcc 的定义如果您输入 -D TESTME,则默认选择在命令行上。

然而,

#define __NEWLIB_H__ 1

除非它在标准库的实现中,否则并不酷,因为以两个下划线(或一个下划线和一个大写字母)开头的名称保留供实现使用,并且永远不应该在可移植应用程序中使用。

关于c++ - "#define"与 "#define 1",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60715461/

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