2

在源文件中,例如我们有 A 类。

A::b() {
  ::c();
}

“::c()”是什么意思?

4

1 回答 1

6

这意味着«c()从全局命名空间调用函数»;::通常在存在具有相同名称的类方法时使用,如果未指定将调用该方法。

通常在 C 库包装类中看到,当包装方法与“原始”C 函数具有相同的名称时。

请注意,这只是命名空间解析运算符的一个特例,您经常会看到像namespace::name(例如std::cout)这样使用它;要指定您想要来自全局命名空间的名称,您只需省略该namespace部分。

于 2013-02-19T00:49:23.983 回答