相关疑难解决方法(0)

为什么"使用命名空间std"被认为是不好的做法?

我已经告诉别人,编写using namespace std;代码是错误的,我应该用std::coutstd::cin直接代替.

为什么被using namespace std;认为是不好的做法?是低效还是冒着声明模糊变量(与名称std空间中的函数具有相同名称的变量)的风险?它会影响性能吗?

c++ namespaces using-directives std c++-faq

2486
推荐指数
36
解决办法
78万
查看次数

未命名的命名空间访问规则

我正在查看C++ 03标准中的第7.3.1.1节,期望找到对未命名的命名空间中定义的项的访问规则的一些描述.

对于未命名的命名空间,规则似乎略有不同,因为您无法完全限定对一个项目的访问权限.我知道至少在同一个翻译单元中,可以访问未命名的命名空间中的项目,就好像它们不在命名空间中一样.例如:

namespace {
  int foo;
}

void something()
{
  foo = 4;
}
Run Code Online (Sandbox Code Playgroud)

如果命名空间有名称,则无法执行此操作.那么,标准中为这些适用于未命名命名空间的例外规则定义的规则在哪里?

c++ namespaces

6
推荐指数
1
解决办法
4321
查看次数

标签 统计

c++ ×2

namespaces ×2

c++-faq ×1

std ×1

using-directives ×1