[C++] 同じクラスに複数の名前空間を設定する:typedefを利用

2016 年 4 月 5 日

[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

C++

Posted by takasho