C++ 命名空间

1,使用命名空间的原因

最初引进的原因就是因为变量名总会因为一些情况发生重复定义,这个时候就会造成一些错误还难以寻找,全局变量本来作用域就在所有的app文件中,而且在一个项目中,有不同的人编写文件

这个时候变量就非常容易发生冲突,当然如果用驼峰命名法也是可以的,但是名字太长可读性很低,加深了程序员的负担

 

 

2,使用格式

 ::  域解析说明符   代表一种作用域的关系,左边代表上一级,右边代表所属成员  ,类内申明,类外定义函数时候也要用::代表要实现该类的这个函数

namespace  node{   // node是名字,x.y是命名空间中所属变量,还可以有函数和类
   int x,y;  
}

using namespace node   //直接导入该命名空间,尽量少用,很容易导致命名污染,也就是命名冲突

using node::x;    // 把该一个成员导入进来

node::x       //使用格式

 

例子:

#include<cstdio>
#include<iostream>
namespace node{
    int x,y;
}
namespace dian{
    int x,y;
}
int main(){
    node::x=1;
    node::y=1;
    dian::x=2;
    dian::y=2;
    using node::x;
    std::cout<<x<<" "<<node::y<<"\n";

}

 

 

3,其他 

std  :   所有的库的变量函数类模板都在std命名空间内,每个库都有个一个命名空间,这样才让变量都不冲突

命名空间嵌套:也就是嵌套使用,差不多,和类一样有了多层引用

命名空间合并:如果命名空间的名字相同的,就算是不同的Cpp文件也会合并在一起,这也是命名空间的不连续性

原文链接: https://www.cnblogs.com/Lis-/p/12369120.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    C++ 命名空间

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/331975

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午6:18
下一篇 2023年3月1日 下午6:18

相关推荐