::运算符
(::)是运算符中等级最高的,作用有三种,都是左关联的,都是为了更明确自己调用的对象或者函数:
- 全局作用域
- 类作用域
- 命名空间作用域
1.全局作用域
#include<iostream> int veriable = 2; void sleep () { int veriable = 3; ::veriable = ::veriable * veriable; veriable = veriable * veriable; std::cout<<::veriable<<"----"<<veriable; } int main() { sleep(); return 0; }
2.类作用域
#include<iostream> class A { public: void static sleep(){ std::cout<<"A:sleeping......"; } }; class B { public: void static sleep(){ std::cout<<"B:sleeping......"; } }; int main() { A::sleep(); B::sleep(); return 0; }
3.命名空间作用域
例如:如果C++程序开头不写using namespace std; 那么如果使用标准输出时得std::cout<<"B:sleeping......";