C++ 03标准7.3.1.1 [namespace.unnamed]段落1:(和C++ 11标准也使用类似的定义)C++无名(匿名)命名空间定义
一种无名-namespace-定义行为就好像它是由
namespace unique { /* empty body */ } using namespace unique; namespace unique { namespace-body }
为什么不能被简单地定义如下取代?
namespace unique { namespace-body }
using namespace unique;
旁边的问题:MSDN由后面的形式定义。它是否违反了标准技术?
我认为这是因为在'namespace-body'中你可以访问没有额外限定条件的实体,这就要求'使用名称空间唯一'已经生效。 –
@mat在命名空间的主体中,您始终可以参考该命名空间中定义的内容,而无需限定条件 –
@ JohannesSchaub-litb:我知道,我想知道与周围环境发生冲突的效果 –