您的位置:首页 > 其它

使用namespace需要注意的一些东西

2016-12-14 11:20 330 查看
使用c++标准库的任何标识符,一般来说有三种选择,但是using directive有时候会出现问题。首先using namespace std这种用法并不会导致性能上的变化。而是在程序比较大的时候,会出现意外的名称冲突。例如使用如下的形式:

using namespace A
using namespace B


假如A有一个A1函数可供调用,B有一个B1函数可供调用

但是如果在A中添加一个函数B1,调用B1则会发生问题,这个时候编译器不确定调用的是到底是哪个命名空间的B1。

void A::A1()
{
}
void B::B1()
{
}
void A::B1()
{
}
void B1()//A or B?发生问题
{
}


所以
using namespace ...
这种
using directive
用法只适用于程序较小的情况下,当你需要一个维护复杂的程序时,建议使用类似
A::A1()
这种直接指定标识符的用法,比较直观,而且不会出现某些名称冲突。

个人理解,如有问题,欢迎指正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: