gpt4 book ai didi

c - 是否有任何默认或推荐的宏样式?

转载 作者:行者123 更新时间:2023-12-01 13:57:49 25 4
gpt4 key购买 nike

我发现了几个不同风格的宏。
对于这样的头文件:

#define __HEADER_H__
#define _HEADER_H_
#define _header_h

简单的宏:

#define SOMEMACRO something
#define somemacro something
#define SOME_MACRO something

带参数的宏:

#define func_macro() something() // arguments not used?
#define FUNC_MACRO something()
#define func_macro something()

所以我的问题是:它们中的一些样式是好是坏?宏名称是否有“默认”样式?

最佳答案

使用所有大写字母绝对是常量的方法。但是,我建议永远不要使用函数宏。我建议编写内联函数。在某些情况下使用的函数宏会导致逻辑错误。例如:

#define FUNC(x) x + x

int main() {
int a = 1;
b = FUNC(a++);
}

结果是未定义的,很可能不是预期的结果。

关于c - 是否有任何默认或推荐的宏样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11639230/

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