::是什么意思?

2025-12-15 03:01:56
推荐回答(2个)
回答1:

表示作用域,和所属关系。

::是运算符中等级最高的,它分为三种:

1)global scope(全局作用域符),用法(::name)

2)class scope(类作用域符),用法(class::name)

3)namespace scope(命名空间作用域符),用法(namespace::name)

他们都是左关联(left-associativity)

扩展资料:

::在C++中的具体用法:

1、作用域符号:

前面一般是该类名称,后面是该类的成员名称。C++为避免不同的类有相同的成员而采用作用域的方式进行区分,eg:A,B表示两个类,在A,B中都有成员member,那么:A::member表示A中的成员member,B::member表示B中的成员member。

2、全局作用域符号:

当全局变量在局部函数中与其中某个变量重名时,可以用::来区分,否则局部变量会屏蔽全局变量。

3、作用域分解运算符:

比如声明了一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给出f函数的定义,那么在类外定义f时,就要写成void A::f(),表示这个f函数是类A的成员函数。

参考资料:百度百科-c++

回答2:

“::”是C++中的作用域解析运算符,也称为作用域成员运算符。它的作用是将一个成员名称解析为其所属的作用域(类、结构体或命名空间)。当使用作用域解析运算符时,成员名称前面加上类名或结构体名或命名空间名,以指示该成员属于哪个作用域。
例如,在C++中,如果要访问类A中的成员函数b(),可以这样写:A::b()。这将指示编译器在类A的作用域中查找名为b()的成员函数。
除了作用域解析运算符之外,C++还提供了其他一些作用域相关的运算符,如作用域分解运算符(::)和引用成员运算符(->)。这些运算符可以帮助程序员更清晰地表达代码的作用域和引用关系,从而提高代码的可读性和可维护性。