Dyi*_*oul 5 c++ namespaces using
我明白了,我不应该在头文件中使用它:
using namespace foo;
Run Code Online (Sandbox Code Playgroud)
因为它为任何使用我的头文件的人带来了全局范围内的命名空间foo.
如果我在自己的命名空间中执行此操作,是否可以防止这种情况发生?例如这样:
namespace my_lib
{
using namespace foo;
// my stuff
// ...
}
Run Code Online (Sandbox Code Playgroud)
现在使用命名空间foo应该限制在命名空间my_lib的范围内,对吧?
是.这比using namespace foo在全球范围内使用要好.
如果你使用foo::name语法,那就更好了.
现在使用命名空间foo应该限制在命名空间my_lib的范围内,对吧?
是.它将命名空间foo中名称空间中的所有名称带入my_lib,这可能会导致名称冲突my_lib.这就是为什么foo::name最优选的方法.
| 归档时间: |
|
| 查看次数: |
1714 次 |
| 最近记录: |