为什么C++;作用域解析运算符::? 这是我在StruouToup中对C++设计和进化中没有找到的几个问题之一。为什么C++范围解析操作符::,而不是仅仅:?

为什么C++;作用域解析运算符::? 这是我在StruouToup中对C++设计和进化中没有找到的几个问题之一。为什么C++范围解析操作符::,而不是仅仅:?,c++,C++,我猜这是因为:已经用于指示构造函数中初始化列表的开始。其他人对此是否同意、不同意或有明确的答案?例如,这会使goto标签产生歧义 foo:bar; // is foo a label or a namespace? 嗯,通常有一个原因,语言设计通常不是完全武断的。很好的一个原因,没有想到这一点,因为当然很少有人使用gotos。

我猜这是因为:已经用于指示构造函数中初始化列表的开始。其他人对此是否同意、不同意或有明确的答案?

例如,这会使
goto
标签产生歧义

foo:bar;  // is foo a label or a namespace?

嗯,通常有一个原因,语言设计通常不是完全武断的。很好的一个原因,没有想到这一点,因为当然很少有人使用gotos。