命名空间

一个工程越大,不同程序员所定义或声明的符号常量、变量、函数、结构体、枚举、类和对象等,名称互相冲突的可能性就越大。另外,在使用不同厂商的类库时,也可能导致名称冲突。为了避免这种情况,C++引入关键字namespace,用来控制标识符的作用域。

1.创建命名空间,命名空间只能在全局范围内定义

2.命名空间嵌套命名空间

3.命名空间时开放的,可以随时把心的成员加入已有的命名空间里

4.无命名空间,意味着命名空间中的标识符只能在本文件中访问,相当于给这个标识符加上了static,使得其作为内部链接


#include<iostream>
#include<cstdlib>
using namespace std;
namespace A
{
int a = 1;
}
namespace B
{
int a = 2;
}
namespace B//命名空间时开放的,可以随时把新的成员加入其中
{
int add = 5;
void fun()
{
cout << "B::add=" << B::add << endl;
}
}
namespace C//命名空间嵌套
{
namespace D
{
int c = 3;
}
}
void test()
{
cout << "A::a=" << A::a << endl;
cout << "B::a=" << B::a << endl;
cout << "C::D::c=" << C::D::c << endl;
B::fun();
namespace other = A;
cout << "other::a=" << other::a << endl;//命名空间的别名
}
int main()
{
test();
system("pause");
return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值