namespace命名空间和using使用

命名空间使用
格式:
namespace 名称
{
方法
}
主要用途
用来解决命名冲突问题
注意
必须定义再全局作用域下
种类
1.命名空间可以嵌套命名空间
2.命名空间是开放的,可随时往原先的命名空间添加内容
3.无名/匿名命名空间
例如
namespace
{
int c=0;
int d=0;
}
匿名命名空间相当于 static c=0; static d=0;
只能再当前空间使用
4.命名空间可以起别名
namespace 别名= 已有空间名

using
using声明格式
例如:using KING ::nameID;

         含义:以后只要用到变量nameID的地方都使用KING空间中定义的

注意
使用using声明要避免二义性(一个变量有2个含义)

二义性事例:
namespace KING
{
int nameID=10;
}
namespace GG
{
int nameID=20;
using KING :: nameID;//using 声明
cout<<”nameID=”<<nameID<<endl;//仍根据就近原则输出nameID=20 此时就产生了二异性
}

using 编译指令
using namespace KING;//打开命名空间 cout<<”nameID=”<<nameID<<endl;
注意也要避免二义性 就是打开了多个房间
例;
using namespace GG;
using namespace KING;
cout<<”nameID=”<<nameID<<endl;
此时就产生了二义性
解决方法:使用::双冒号作用域
using namespace GG;
using namespace KING;
cout<<”nameID=”<<GG::nameID<<endl;
cout<<”nameID=”<<KING::nameID<<endl;

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值