c++ 中 :: 运算符是一个作用域解析运算符,用于指定名称空间、类或基类的范围。它有以下几种用法:名称空间解析::: 指明名称空间,如 my_namespace::my_variable。类静态成员访问::: 访问类的静态成员,如 myclass::my_static_variable。基类解析::: 访问基类的成员,如 derivedclass::baseclass::base_member。
C++ 中的 :: 运算符
:: 运算符的含义
C++ 中的 :: 运算符是一个作用域解析运算符,用于指示名称空间或类的范围。
展开回答
名称空间解析
- :: 可以用于明确指定名称空间。例如,以下代码将声明一个位于 my_namespace 名称空间中的变量:
namespace my_namespace { int my_variable; }
- 要访问该变量,可以使用 :: 运算符:
my_namespace::my_variable = 10;
类静态成员访问
- :: 可用于访问类的静态成员。静态成员是不属于任何特定对象,而是属于整个类的成员。例如,以下代码将声明一个具有静态变量 my_static_variable 的类:
class MyClass { public: static int my_static_variable; };
- 要访问静态变量,可以使用 :: 运算符:
MyClass::my_static_variable = 20;
基类解析
- :: 可用于访问基类的成员。例如,以下代码将声明一个派生类 DerivedClass,其中包含一个基类 BaseClass 的成员:
class BaseClass { public: int base_member; }; class DerivedClass : public BaseClass { };
- 要访问基类的成员,可以使用 :: 运算符:
DerivedClass derived_object; derived_object.BaseClass::base_member = 30;
其他用法
- :: 也可用于指示全局范围,例如:
::operator new(size_t); // 全局 new 运算符