zoukankan      html  css  js  c++  java
  • C++范围解析运算符::的使用

    1.范围解析运算符的作用
    范围解析运算符 :: 用于标识不同范围内使用的标识符。

    2.范围解析运算符的使用
    1)用于命名空间和类

    namespace NamespaceA{
        int x;
        class ClassA {
        public:
            int x;
        };
    }
    
    int main() {
        NamespaceA::x = 1;
    
        NamespaceA::ClassA a1;
        a1.x = 2;
    
    }

    2)没有范围限定符的表示全局命名空间。

    namespace NamespaceA{
        int x;
    }
    
    int x; 
    
    int main() {
        int x;
        x = 0; 
        // 全局命名空间
        ::x = 1; 
    
        NamespaceA::x = 2; 
    }

    3)标识通过 using 指定成员的命名空间的命名空间

    namespace NamespaceB {
        class ClassB {
        public:
            int x;
        };
    }
    
    namespace NamespaceC{
        using namespace B;
    
    }
    int main() {
        NamespaceB::ClassB c_b;
        NamespaceC::ClassB c_c;
    
        c_b.x = 3;
        c_c.x = 4;
    }

    4)标识嵌套的命名空间,标识嵌套的类

    namespace NamespaceD{
        namespace NamespaceD1{
            int x;
        }
    }
    
    namespace NamespaceE{
    
        class ClassE{
        public:
            class ClassE1{
            public:
                int x;
            };
        };
    }
    
    int main() {
        NamespaceD:: NamespaceD1::x = 6;
        NamespaceE::ClassE::ClassE1 e1;
        e1.x = 7  ;
    }

    5)调用类的静态成员

    class ClassG {
    public:
        static int get_x() { return x;}
        static int x;
    };
    
    int ClassG::x = 6;
    
    int main() {
    
        int gx1 = ClassG::x;
        int gx2 = ClassG::get_x(); 
    }

    6)用于枚举

    enum EnumA{
        First,
        Second,
        Third
    };
    
    int main() {
    
        EnumA enum_value = EnumA::First;
    }

    参考资料:https://msdn.microsoft.com/zh-cn/library/b451xz31.aspx

  • 相关阅读:
    werfault进程使用CPU率高
    oracel 拆分字符串
    TCP TIME WAIT
    netstat 命令
    Java 理论与实践: 并发集合类
    DIV与SPAN之间有什么区别
    oracle超出打开游标的最大数的原因和解决方案
    Quartz表达式
    Axis创建webservice客户端和服务端
    Web服务cxf框架发布2
  • 原文地址:https://www.cnblogs.com/shijingjing07/p/5531419.html
Copyright © 2011-2022 走看看