(我知道范围解析运算符的作用,以及如何以及何时使用它.)
为什么C++有::运算符,而不是.为此目的使用运算符?Java没有单独的运算符,并且工作正常.C++和Java之间是否有一些区别,这意味着C++需要一个单独的运算符才能进行解析?
我唯一的猜测是::出于优先原因需要,但我不能认为为什么它需要具有比例如更高的优先级..我能想到的唯一情况就是如此
a.b::c;
Run Code Online (Sandbox Code Playgroud)
将被解析为
a.(b::c);
Run Code Online (Sandbox Code Playgroud)
,但我无法想到任何情况下,这样的语法无论如何都是合法的.
也许这只是"他们做不同的事情,所以他们可能看起来不同"的情况.但这并不能解释为什么::优先级高于..