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

  • 相关阅读:
    lambda 和 iterable
    使用Jenkins部署Python项目
    python下selenium自动化测试自我实践
    【其它】数学学科编码
    【其它】音阶中的数学
    【数理统计基础】 06
    【数理统计基础】 05
    【数理统计基础】 04
    【数理统计基础】 03
    【数理统计基础】 02
  • 原文地址:https://www.cnblogs.com/shijingjing07/p/5531419.html
Copyright © 2011-2022 走看看