【发布时间】:2020-11-04 23:51:01
【问题描述】:
我想在不同的上下文中区分“静态”关键字。这样做的可能缺点是什么
#define common static // class member
#define intern static // linkage
从技术和语义的角度。
【问题讨论】:
-
“在你讨厌你之后会处理这个代码的每个人”是一个有效的缺点吗?
#define intern static和#define BEGIN {一样糟糕,只是它的含义更不明显。我建议您习惯正确的关键字,即使您不喜欢它们的外观。 -
您的唯一目标是尝试实现更多“清晰度”吗?如果是的话,可能会适得其反。它最终会导致您团队中的某个人(可能是您)忘记这些宏的存在,然后代码会变得更加混乱。我认为如果有一种方法可以“禁止”关键字,从而迫使人们使用你的一个宏而不是
static。 -
如果我在自己的项目上工作,这似乎不是问题。是的,禁止一个词的能力很重要,以防你需要强迫人们使用它。但是你必须为静态持续时间上下文定义另一个词。
标签: c++ macros keyword semantics preprocessor