c++中::有什么特点?
表示作用域,和所属关系。
::是运算符中等级最高的,它可以分为以下三种:
1、global scope(全局作用域符),用法(::name)
2、class scope(类作用域符),用法(class::name)
3、namespace scope(命名空间作用域符),用法(namespace::name)他们都是左关联(left-associativity)他们的作用都是为了更明确的调用你想要的变量,如在程序中的某一处你想调用全局变量a,那么就写成::a;
如果想调用class A中的成员变量a,那么就写成A::a,另外一个如果想调用namespace std中的cout成员,你就写成std::cout(相当于using namespacestd;cout)意思是在这里我想用cout对象是命名空间std中的cout(即就是标准库里边的cout)。
扩展资料:
::在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++