【发布时间】:2018-12-14 09:11:26
【问题描述】:
我想不出使用:: 指定范围会导致生成任何代码的情况。我能想到的每个其他运算符实际上(至少在概念上)都会生成代码,它“做某事”。
那么为什么:: 被称为“范围解析运算符”它的行为绝不像运算符。在我看来,它更像是名称的一部分,有点像... 或围绕模板参数列表的< 和> 之类的词汇绒毛,甚至是;。没有人将; 称为“表达式终止运算符”。
是否有特定的原因被称为(标准中关于它如何以某种方式表现得像操作员的引用在这里)?还是这个名字只是历史包袱?
【问题讨论】:
-
“我能想到的每个其他运算符实际上(至少在概念上)都会生成代码”-
sizeof怎么样?::运算符是一个运算符,因为语言语法说它是。 -
你还会怎么称呼它? “范围解析词汇模糊”没有那么重要。
-
我不认为分隔符是正确的。它不分离,它意味着嵌套的成员资格。它更接近于
.或->符号,它们也被称为“运算符”。 -
@Downvoters 请告诉我们这个问题如何没有显示任何研究工作、不清楚或没有用处?
-
;的例子是一个有趣的例子。但是,在 C++ 和大多数其他语言(Pascal 除外)中,它不是表达式分隔符。它是一个表达式终止符。
标签: c++ scope-resolution