私は1つに複数の名前空間を結合する方法上のどこかのノートを見て思い出しているようです。でも、私は何を考え出すていないよ、コーミング検索用語を使用して検索をグループ化し、合併やラッピング -個別のネームスペースをラップまたはマージすることは可能ですか?
は今、を探しているノートは、私はそれらを見つけるわけではないと述べました。多分私は以前見たことを誤解したかもしれません。 私はこれのための特定のアプリケーションを持っていない、それはちょうど好奇心であり、少し考案されています。
はしかし、私はどちらか単に構文を探して別の名前でそれらをラップした2つのネームスペース...
namespace a {int func() {return 1;}}
namespace b {int func() {return 2;}}
で始まる - 事実の後に - (はい、私は私ができる知っていますネストされた方法でそれを書き直すか、それらを1つの新しいスペースにマージする)。しかし、私は多くの作品の名前空間の1つに追加すれば私はそれを見つけました。
namespace c {namespace a{ int func2() {return 3;}} }
int main(int argc, char **argv)
{
int a = a::func(); // normal case
int c = c::a::func2(); // wrapped and added to
//int c = c::func2(); // doesn't work
//int d = a::func2(); // doesn't work
}
質問は以下のとおりです。
1)一つだけ新しいものに二つのスペースを組み合わせた構文がありますか?
2)部分空間に多くを追加することなく、スペースをラップする構文はありますか?
namespace c
{
using namespace a;
using namespace b;
}
をしかし、aとbが同じ名前を持つ要素を持っている場合は、名前空間cからそれらを使用することはできません。
私はあなたが名前空間を使用して '置くことができると仮定し、 'B''でなく、問題を引き起こす可能性が関数名を重ねます。 – GWW
これのポイントは何ですか? – Rhexis
@Flyphe - 上記の質問から引用する:*私はこのために、特定のアプリケーションを持っていない、それだけで好奇心だと、それは少し不自然です* – Arbalest