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