C++双冒号
时间: 2023-07-11 18:19:12 浏览: 98
C++中双冒号::的作用浅析
在 C++ 中,双冒号 `::` 是作用域解析符号,用于表示命名空间、类、结构体、枚举等作用域的范围。
具体来说,`::` 可以用于以下几种情况:
1. 命名空间:可以用 `namespace::` 的形式表示命名空间的作用域,例如:
```cpp
namespace MyNamespace {
int MyVariable = 123;
}
int main() {
int MyVariable = 456;
cout << MyNamespace::MyVariable << endl; // 输出 123
cout << MyVariable << endl; // 输出 456
return 0;
}
```
2. 类和结构体:可以用 `类名::` 或 `结构体名::` 的形式表示类或结构体的作用域,例如:
```cpp
class MyClass {
public:
static int MyStaticVariable;
};
int MyClass::MyStaticVariable = 789;
int main() {
int MyStaticVariable = 456;
cout << MyClass::MyStaticVariable << endl; // 输出 789
cout << MyStaticVariable << endl; // 输出 456
return 0;
}
```
3. 枚举:可以用 `枚举名::` 的形式表示枚举的作用域,例如:
```cpp
enum MyEnum {
MyEnumValue1,
MyEnumValue2
};
int main() {
cout << MyEnum::MyEnumValue1 << endl; // 输出 0
cout << MyEnum::MyEnumValue2 << endl; // 输出 1
return 0;
}
```
需要注意的是,`::` 在 C++ 中还有其他的用途,例如作为域运算符、作为成员指针运算符等。在不同的情况下,`::` 的含义可能会有所不同。
阅读全文