什么意思::在函数调用的前面

时间:2014-02-14 08:12:18

标签: c++

我有这段代码:

1. bool MyClass::open() {
2.   int fd = ::open("file.txt",flags);
3. }

调用open之前第2行的“::”是否意味着什么?

2 个答案:

答案 0 :(得分:11)

这意味着来自全局命名空间的“open”。这是一种消除MyClass::open歧义的方法,如果您说open没有前导::,这个名称就会被提取。

答案 1 :(得分:4)

它是范围解析运算符并且它表示函数(在这种情况下为open)位于全局命名空间中。