C++ 03標準の7.3.1.1 [namespace.unnamed]段落1:(およびC++ 11標準も同様の定義を使用)C++名前(匿名)名前空間定義
名前、ネームスペースでそれは単に定義は、次のされていないのはなぜそれが
namespace unique { /* empty body */ } using namespace unique; namespace unique { namespace-body }
に置き換えられたかのように定義振る舞いますか?
namespace unique { namespace-body }
using namespace unique;
サイド質問:MSDNは後者の形式で定義します。標準に技術的に違反していますか?
これは、 'namespace-body'では余分な修飾なしでエンティティにアクセスするため、' using namespace unique'が既に有効になっているためです。 –
@matは名前空間のボディに入っています。あなたはいつもその名前空間に定義されているものを参照することができます。 –
@ JohannesSchaub-litb:私は周りの環境との衝突の影響については疑問に思っていましたが –