• 命名空间


    使用命名空间

    在引用命名空间成员时,要用命名空间名和作用域分辨符对命名空间成员进行限定,以区别不同的命名空间中的同名标识符。即:
    命名空间名::命名空间成员名

    c++提供了一些机制,能简化使用命名空间的使用:

    1. 使用命名空间别名
    可以为命名空间起一个别名,用来替代较长的命名空间名,如:
    namespace PeopleA
    可以用一个较短的别名替代它。如:
    namespace PA = PeopleA
    
    1. 使用using命名空间成员名
    using后面的命名空间成员名必须是由命名空间限定的名字,如:
    using AA::i;
    
    1. 使用using namespace命名空间名
    如:using namespace AA;
    声明了在本作用域中要用到命名空间AA中的成员,在使用该命名空间的任何成员时都不必再使用命名空间限定。
    
    1. c++中可以声明无名的命名空间,如:
    namespace 
    {
        void fun()
        {
            //....
        }
    }
    

    由于命名空间没有名字,在其他文件中显然无法引用,它只在本文件的作用域有效。若无名命名空间的成员fun函数的作用域为文件A,在文件A中使用无名命名空间的成员,不用也无法用命名空间名限定。

    using declarations和using directives的区别

    1. using declarations
      示例:
    #include <iostream>
    int main()
    {
        using std::cout;
        using std::endl;
        cout << "Hello World!" <<endl;
        return 0;
    }
    

    using std::cout就是using declarations。

    using declarations方式:这种方式每次只引入一个命名空间成员,形式是 using namespace_name::member_name
    使用using declarations方式的name的作用域:它服从一般的作用域法则。name,从using declarations开始一直到当前作用域结束,都是可见的。

    1. using directives

    using derective的形式是using namespace namespace_name;
    示例:

    using namespace std;
    

    要点:using directive可以出现命名空间,函数和块中,但不能出现在类中。

    参考
    https://blog.csdn.net/cherishinging/article/details/73810785

  • 相关阅读:
    Pytorch 四种边界填充方式(Padding)
    数据预处理 —— padding数据
    Python PIL彩色图像转灰度图像
    Python PIL读取与保存图片
    Python-OpenCV 彩色图像转灰度图像
    Python-OpenCV读取与保存图片
    Python 矩阵旋转180度
    Pytorch 扩展Tensor维度、压缩Tensor维度
    基于SSM的健身房管理系统
    大学生创新创业项目-智取乐食
  • 原文地址:https://www.cnblogs.com/hunter-w/p/13263284.html
Copyright © 2020-2023  润新知