c++ - #为不同的上下文定义 “static”的宏

标签 c++ macros keyword semantics preprocessor

我想在不同的上下文中区分“静态”关键字。这样做可能有哪些弊端

#define common static // class member
#define intern static // linkage
从技术和语义的 Angular 。

最佳答案

如果使用这种方法,那么如果一个不知道这意味着什么的人会真正迷失方向。
如果您确实要使用宏(请阅读:https://google.github.io/styleguide/cppguide.html#Preprocessor_Macros),建议您使用UPPER_CASE:

#define COMMON static // class member
#define INTERN static // linkage
如果仅使用大写字母,则看到您的代码的人将知道这是宏。 Google C++样式指南(https://google.github.io/styleguide/cppguide.html#Macro_Names)鼓励使用这种样式。
从技术 Angular 讲,我不会说有什么区别,因为C++编译器不会有任何区别,因为预处理器将您的commonintern替换为static

关于c++ - #为不同的上下文定义 “static”的宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62915579/

相关文章:

c++ - SFINAE enable_if 显式构造函数

c++ - 如何为模板类的特殊版本添加成员变量?

c - C 中的宏条件语句

macros - 术语列表的术语扩展

mysql - mysql 中的正则表达式 - 查找包含所有关键字(AND 运算符)的字符串

keyword - ECL 中的 LEFT 和 RIGHT 关键字

c++ - DirectShow 解码器减少媒体时间

C++:带连接的多行字符串文字?

c - 为什么这个串联宏需要一个间接级别?

namespaces - clojure 关键字什么时候应该出现在命名空间中?