我发现了几个不同风格的宏。
对于这样的头文件:
#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/