1、
作用域符號::的前面一般是類名稱,后面一般是該類的成員名稱,C++為例避免不同的類有名稱相同的成員而采用作用域的方式進行區分
如:A,B表示兩個類,在A,B中都有成員member。那么
A::member就表示類A中的成員member
B::member就表示類B中的成員member
2、
全局作用域符號:
例如:
#include <stdio.h>
int count = 0; //全局變量 0
void main()
{
int count = 10; //局部變量10
printf("count =%d\n",count);//局部變量屏蔽了全局變量 所以輸出結果是10
{
int count = 20;
printf("count =%d\n",::count); //作用域符號指出引用全局變量0
//::sort
}
}
作為全局作用域符號,雙冒號要放在開頭。這和linux下的文件路徑類似,“/”放在開頭表示絕對路徑,放在中間表示子目錄。
::符號既可以指定類,也可以指定變量和命名空間:
如果函數放在全局,就是全局函數 如果變量定義在全局,就是全局變量 如果一個命名空間放在全局,就是全局命名空間。
3、
另外,雙冒號也常常用於在類變量內部作為當前類實例的元素進行表示:
class CA {
public:
int ca_var;
int add(int a, int b);
int add(int a);
};
//作用域
int CA::add(int a, int b)
{
return a + b;
}
//另外,雙冒號在類變量內部作為當前類實例的元素進行表示
int CA::add(int a)
{
return a + ::ca_var;
}
//表示當前類實例中的變量ca_var
