我有这段代码:
1. bool MyClass::open() {
2. int fd = ::open("file.txt",flags);
3. }
调用open之前第2行的“::”是否意味着什么?
答案 0 :(得分:11)
这意味着来自全局命名空间的“open
”。这是一种消除MyClass::open
歧义的方法,如果您说open
没有前导::
,这个名称就会被提取。
答案 1 :(得分:4)
它是范围解析运算符并且它表示函数(在这种情况下为open
)位于全局命名空间中。