C++之(::)运算符详解

::运算符

(::)是运算符中等级最高的,作用有三种,都是左关联的,都是为了更明确自己调用的对象或者函数:

  1. 全局作用域
  2. 类作用域
  3. 命名空间作用域
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......";
原文地址:https://www.cnblogs.com/fangpengchengbupter/p/7388128.html