C++中的命名空间理解

#include <iostream>
namespace CX
{
bool IsDirectory()
{
return true;
}
}
namespace HO
{
bool IsDirectory()
{
return false;
}
}
using namespace HO;
int main()
{
bool b = IsDirectory();
//b = HO::IsDirectory();
return 0;
}
其中
namespace   xxx
{

}

就是一个命名空间,之所以要这样写几个命名空间,原因是作为一个大的工程,可能是由多个程序员

共同完成的,不能保证几个人不会写出同样的名字的函数,所以加上一个命名空间,这样在主函数中调用时,
就可以区分开了。
bool b = HO::IsDirectory();就表示引用的是HO这个命名空间的IsDirectory()函数
bool b = CX::IsDirectory();就表示引用的是CX这个命名空间的IsDirectory()函数
如果主要想只引用HO这个空间的函数,就可以在main()函数前加上using namespace HO;这样,
bool b = IsDirectory();就可以编译通过,不需要再用HO::域名进行限制。
可以同时有几个命名空间,比如,可以加上using namespace std;即是:main 函数前有
using namespace HO;
using namespace std;
int main()
{}
这样,当用cout,cin函数时,也可以不加std::,这种做法的前提是两个命名空间没有相同的函数,例如:
using namespace HO;
using namespace CX;
int main()
{}
两个命名空间有相同的函数,就是不可编译成功的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值