C++:作用域解析运算符 ::
简介
范围解析运算符 :: 用于标识和消除在不同范围内使用的标识符。
语法
qualified-id:
nested-name-specifier template opt unqualified-id
nested-name-specifier:
::
type-name ::
namespace-name ::
decltype-specifier ::
nested-name-specifier identifier ::
nested-name-specifiertemplate opt opt simple-template-id::
unqualified-id:
identifier
operator-function-id
conversion-function-id
literal-operator-id
~ type-name
~ decltype-specifier
template-id
备注
identifier 可以是变量、函数或枚举值。
用于 :: 类和命名空间
以下示例显示范围解析运算符如何与命名空间和类一起使用:
namespace NamespaceA{
int x;
class ClassA {
public:
int x;
};
}
int main() {
// A namespace name used to disambiguate
NamespaceA::x = 1;
// A class name used to disambiguate
NamespaceA::ClassA a1;
a1.x = 2;
}<