可以停止在一个代码中使用命名空间吗?

时间:2011-06-20 04:19:42

标签: c++ namespaces

  

可能重复:
  How can I “unuse” a namespace?

例如,在声明“使用命名空间mynamespace”之后,是否可以停止使用该命名空间中间代码?

感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

查看命名空间上的C ++文档。

http://www.cplusplus.com/doc/tutorial/namespaces/

您可以声明您正在“使用”特定范围(例如函数)的命名空间。但我不相信你可以随意指定using语句的开始和结束位置,它总是在声明范围的其余部分。

我应该注意(有人请纠正我,如果我错了)在C ++中你可以随意地在任何你想要的任何地方声明一个范围,只需使用花括号。

{ 
  using mynamespace;
  /* rest of your code here */
}

但要小心谨慎地使用它,因为如果经常使用或在错误的环境中使用,它会使代码难以阅读(这首先打败了'使用'的整个点,对吧?)。

答案 1 :(得分:3)

您的代码中无法停止 using namespace。但您可以对代码进行一些智能更改以模拟该效果。

  1. 拆分成各种.cpp个文件 并仅使用using namespace 实际需要的文件
  2. 在同一个文件中,保留代码 using namespace设施 文件的底部,这样 上面的代码不会有 using效果。
  3. 附上using namespace 在另一个命名空间/函数内看到 example

答案 2 :(得分:0)

不,我认为整个.cpp文件都可以使用该命名空间,但是如果你想使用其他命名空间中同名的对象,你总是可以使用完全限定的名称!