C++11 標準から、§7.3.3[namespace.udecl]/1:
using 宣言は、using 宣言が現れる宣言領域に名前を導入します。
使用宣言:
using typename
opt ネストされた名前指定子 非修飾 ID;
using ::
非修飾 ID;
using宣言で指定されたメンバー名は、using宣言が現れる宣言領域で宣言されます。
using宣言が発生する宣言領域で宣言されている名前はどういう意味ですか?
これは、using 宣言が発生する宣言領域にその名前を導入することと同じ意味ですか?
また、名前を宣言することと、名前が示すエンティティを宣言することには違いがありますか?
例:
namespace N { static int i = 1; } /* Declares an entity denoted by
the name i in the declarative region of the namespace N.
Introduces the name into the declarative region of the namespace N.
Declares the name i in the declarative region of the namespace N? */
using N::i; /* Declares the name i in the declarative region of the
global namespace. Also introduces that name into the declarative
region of the global namespace? Also declares the entity that the
name i denotes? */