2

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

::GetSystemDirectory(buffer, MAX_PATH);

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

有人可以解释一下空::是什么意思吗?

4

1 回答 1

8

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

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

于 2013-06-10T08:51:57.277 回答