C 语言中两个冒号 (::) 的含义:作用域解析运算符:解析作用域中的名称,允许访问当前作用域之外的名称。嵌套类型名:指定嵌套类型的名称,用于引用嵌套类型。

C 语言中两个冒号的含义
C 语言中,双冒号 (::) 具有以下两种含义:
1. 作用域解析运算符
双冒号用于解析作用域中的名称。它允许访问当前作用域之外的名称。例如:
立即学习“C语言免费学习笔记(深入)”;
int main() {
int x = 10;
{
int x = 20;
cout << ::x; // 输出 10
}
return 0;
}在内部作用域中,通过 ::x 访问了外部作用域中声明的 x 变量。
2. 嵌套类型名
双冒号用于指定嵌套类型的名称。例如:
namespace myNamespace {
class MyClass {
struct InnerClass {
// ...
};
};
}要引用嵌套类型,可以使用双冒号:
myNamespace::MyClass::InnerClass innerObject;











