C++之命名空间


大型程序往往会使用多个独立开发的库,这些库又会定义大量的全局名字,如类、函数和模板等。当应用程序用到多个供应商提供的库时,不可避免地会发生某些名字相互冲突的情况。多个库将名字放置在全局命名空间中将引发 命名空间污染(namespace pollution)。

命名空间( namespace)为防止名字冲突提供了更加可控的机制。命名空间分割了全局命名空间,其中每个命名空间是一个作用域。通过在某个命名空间中定义库的名字,库.的作者(以及用户)可以避免全局名字固有的限制。

命名空间定义

namespace myTest{
	class Sales_data{};
	class Query{};
	class Query_base{}; 
}

使用命名空间

//1
myTest::Query q("Hello");

//2
using namespace myTest;
Query q("HEllow");

//3
namespace m = mtTest;
m::Query q("Hello");

命名空间可以是不连续的

namespace nsp{
//相关声明
}

可能是定义了一个名为nsp的新命名空间,也可能是为已经存在的命名空间添加了一些新成员。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值