1. 程式人生 > 實用技巧 >::在C++中是什麼意思

::在C++中是什麼意思

表示作用域,和所屬關係
比如
class A
{
  public:
    int test();
}

int A::test()//表示test是屬於A的
{
 return 0;
}

類似的還有其他,就不列舉了
--------------------
比如
int a;

void test ()
{
  int a = ::a;//用全域性變數a,給本地變數a賦值
}

::是運算子中等級最高的,它分為三種:
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 namespace std;cout)意思是在這裡我想用cout物件是名稱空間std中的cout(即就是標準庫裡邊的cout) 他們算是C++中的基礎,如果運用的好的話,你程式的出錯率也許會降很多,