在一个cpp文件里,可不可以使用多个不同的 using namespace 命名空间?

JnBoor 2009-04-05 09:13:34
在一个cpp文件里,可不可以使用多个不同的 using namespace 命名空间?
如果2个namespace里有冲突的类名或函数名,怎么解决?这种情况下怎样使用namespace才能避免冲突?谢谢!
谢谢!
...全文
2553 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cppfaq 2009-04-12
  • 打赏
  • 举报
回复 1
using namespace用来确定编译时缺省查找的名字空间。
例如,使用了STL的头文件,后面可以添加using namespace std;。这样就可以直接写类型名字了。如cout << endl;
否则每次用到STL类型的时候都要添加std::。如std::cout << std::endl;
如果编译器发现某个名字在多个缺省的名字空间都出现过,会显示编译错误,这时就必须使用::操作符强行指定名字空间了。
例如你自己定义了一个变量,名字也叫cout。这时你就必须指定是std::cout还是::cout(直接使用::表示根名字空间)。
coldant 2009-04-10
  • 打赏
  • 举报
回复
可以呀
biweilun 2009-04-09
  • 打赏
  • 举报
回复
当然可以。
天涯明月稻 2009-04-09
  • 打赏
  • 举报
回复
如果两个命名空间中的变量名有相同的话,那用了和没用没多大区别,反正都要使用前缀来区分
yqlhust 2009-04-09
  • 打赏
  • 举报
回复
可以的
mannhello 2009-04-08
  • 打赏
  • 举报
回复
可以的。
wugaofeng555 2009-04-07
  • 打赏
  • 举报
回复 1
可以使用不同的命名空间

using namespace name1;
using namespace name2;

name1::test(); // 不同命名空间中的相同的函数名,通过前面的命名空间来区分。
name2::test();
  • 打赏
  • 举报
回复
可以,你可以同时用两个using namespace std试一下,不会出错的
coodd 2009-04-05
  • 打赏
  • 举报
回复
当然可以
oyljerry 2009-04-05
  • 打赏
  • 举报
回复
using namespace用不同的名字空间

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧