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的成员函数

冒号:

构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型。

1 struct _XXX{
2 
3 _XXX() : y(0xc0) { }
4 
5 };
posted @ 2018-08-02 17:24  neo3301  阅读(323)  评论(0编辑  收藏  举报