[C++] 同じクラスに複数の名前空間を設定する:typedefを利用
namespace abc { namespace bcd { class A { }; } } namespace simple { typedef abc::bcd::A B; } int main() { new simple::B; return 0; }
注意点
typedefで指定したクラスの前方宣言をする場合、元のクラスの前方宣言を先にする必要がある。
つまり、通常の名前空間の宣言をくり返す。
// A.hpp namespace abc { namespace bcd { class A; } } namespace simple { typedef abc::bcd::A B; }
# コンパイルしてみる(ideone.com)