“:: functionName()”在c ++中意味着什么?


what does “::functionName()” imply in c++?

本问题已经有最佳答案,请猛点这里访问。

我遇到一段代码,看起来像这样:

1
::GetSystemDirectory(buffer, MAX_PATH);

我从未见过前面有空的::的函数调用。我经常看到它们与名称空间一起使用。

有人能解释一下空的::是什么意思吗?


它是范围解析操作符。前面没有任何内容,它表示全局范围。

例如,假设您有一个类定义了自己的GetSystemDirectory方法。在该类的一个方法的代码中,要调用全局方法,您需要在它前面有::,否则默认情况下,您将得到该类特定的方法。(对于名称空间也是如此。)