C++ “::” 作用域符 双冒号 实力解释

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6


一、
:: 是作用域符,是运算符中等级最高的,它分为三种:
1)global scope(全局作用域符),用法(::name)
2)class scope(类作用域符),用法(class::name)
3)namespace scope(命名空间作用域符),用法(namespace::name)
他们都是左关联(left-associativity),他们的作用都是为了更明确的调用你想要的变量:
1.如在程序中的某一处你想调用全局变量a,那么就写成::a;(也可以是全局函数)
2.如果想调用class A中的成员变量a,那么就写成A::a;
3.另外一个如果想调用namespace std中的cout成员,你就写成std::cout(相当于using namespace std;cout)意思是在这里我想用cout对象是命名空间std中的cout(即就是标准库里边的cout);
他们算是C++中的基础,如果运用的好的话,你程序的出错率也许会降很多,o~~~~~~~~~
#include <iostream>
using namespace std;

int count=0; // 全局(::)的count

class A {
public:
static int count; // 类A的count (A::count)

};
// 静态变量必须在此处定义
int A::count; //class scope(类作用域符),用法(class::name)
int main() {
::count=1; // 设置全局的count为1
A::count=5; // 设置类A的count为2
cout<<"类作用域"<<A::count<<endl;
cout<<"全局作用"<<count<<endl;

// int count=3; // 局部count
// count=4; // 设置局部的count为4
return 0;
}
#include <iostream>

int main() {
std::cout << "命名空间作用域符----"<<"Hello, World!" << std::endl;
return 0;
}


阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: c++