私は長い間C++をやっていますが、今朝、「C++で名前空間のエイリアスを作成することは可能ですか?」という質問に答えることができませんでした。
例を挙げましょう。次のヘッダーがあったとしましょう。
namespace old
{
class SomeClass {};
}
これは、不特定の理由により、次のようにならなければなりませんでした。
namespace _new
{
namespace nested
{
class SomeClass {}; // SomeClass hasn't changed
}
}
これで、SomeClass
を参照する古いコードベースがある場合、次を追加することで、変更をすばやく(そして汚く)「修正」できます。
namespace old
{
typedef _new::nested::SomeClass SomeClass;
}
しかし、明示的にすべてのタイプをold
する必要なしに、_new::nested
からtypedef
にすべてをインポートする方法はありますか?
Python import * from ...
に似たもの。
ありがとうございました。
この:
namespace old = newns::nested;
あなたが望むもののように思われるでしょう。