轉自:https://blog.csdn.net/u012547790/article/details/22727277
::在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++中的基礎,如果運用的好的話,你程序的出錯率也許會降很多,