【发布时间】:2011-09-18 09:43:06
【问题描述】:
【问题讨论】:
标签: c++ namespaces
【问题讨论】:
标签: c++ namespaces
查看有关命名空间的 C++ 文档。
http://www.cplusplus.com/doc/tutorial/namespaces/
您可以声明您正在“使用”特定范围(例如函数)的命名空间。但我不相信你可以任意指定 using 语句的开始和结束位置,它总是在它声明的其余范围内。
我应该注意(如果我错了,请有人纠正我)在 C++ 中,您几乎可以在任何您想要的地方任意声明一个作用域,只需使用花括号。
{
using mynamespace;
/* rest of your code here */
}
但是要谨慎使用它,因为如果使用过于频繁或在错误的上下文中使用,它会使代码更难阅读(这首先破坏了“使用”的全部意义,对吧?)。
【讨论】:
您无法停止 using namespace 在您的代码中。但是您可以对代码进行一些巧妙的更改来模拟这种效果。
.cpp文件
并仅将using namespace 用于那些
实际需要的文件using namespace设施
文件的底部,这样
上面的代码不会有
using 效果。using namespace
在另一个命名空间/函数中。看
example。【讨论】:
class/struct/union 不允许使用命名空间,using 的函数只支持基类方法。)
class/struct/union。事实上,我自己几天前就问过一个关于它的问题。 stackoverflow.com/questions/6326805/…
不,我认为您可以使用整个 .cpp 文件的名称空间,但如果您想使用来自其他名称空间的同名对象,您始终可以使用完全限定名称!
【讨论】: