関数定義内で定義されたC++名前空間エイリアスには、ブロック、関数、ファイル、または他の有効範囲(有効期間)がありますか?C++の名前空間エイリアスの範囲は何ですか?
答えて
ブロックの有効期間です。例:名前空間エイリアスを以下のように定義すると、名前空間エイリアスabcは{...}ブロック外では無効になります。
{
namespace abc = xyz;
abc::test t; //valid
}
abc::test t; //invalid
ただし、クラススコープでは機能しません。 –
関数内でブロック内にエイリアスを宣言しない限り、関数スコープと同じになる可能性があります。
名前空間エイリアスは、他のほとんどの種類の識別子と同様に、名前空間エイリアスが作成されたブロック内にスコープしか持たないことはかなり確信しています。私は現時点で確かに確認することはできませんが、this pageはそれに反していないようです。
私が知る限り、それは宣言されている範囲にあります。だから、メソッドのエイリアスであれば、そのメソッドでは有効ですが、別のメソッドでは有効ではありません。
スコープは、エイリアスが定義されている宣言的な領域です。
それは、それが導入された範囲の期間中に有効ですhttp://en.wikibooks.org/wiki/C++_Programming/Scope/Namespaces
を見てみましょう。
http://en.cppreference.com/w/cpp/language/namespace_aliasをご覧ください。私はcppreferenceの説明を信頼します。これははるかに標準的です。
リンクを提供しないでください。また、参照しているページから少なくとも部分的な抜粋を追加してください。 – Matthias
- 1. C++では、「名前空間エイリアス」とは何ですか?
- 2. 名前空間エイリアス
- 3. Google App Engine APIの名前空間マネージャーの範囲は何ですか?
- 4. 名前空間でのクラス名のエイリアスはできますか?
- 5. Rake名前空間エイリアス
- 6. ExtJs名前空間エイリアス
- 7. インポートされた名前空間のエイリアス
- 8. C++のネストされた名前空間エイリアスは可能ですか?
- 9. C++名前空間との違いは何ですか
- 10. C++では、非名前空間、非クラス名の名前を変更/エイリアスできますか?
- 11. C++ 11のグローバル名前空間のエイリアス方法
- 12. XmlSampleGenerator名前空間は何ですか?
- 13. 名前のない値の有効範囲は何ですか?
- 14. 名前空間クラスの代替の範囲内で機能しますか?
- 15. C++での名前空間
- 16. 名前空間、エイリアス、Visual Studioフォームデザイナー
- 17. C#System.Typeは名前空間ですか?
- 18. どのようにC#で名前空間にエイリアスを与えますか
- 19. System.Collectionsは「システム名前空間の名前空間」ですか?
- 20. 匿名名前空間はすべての名前空間を囲んでいますか?
- 21. C++の名前空間に相当するPythonは何ですか? Cで
- 22. C++ - 名前空間
- 23. Javascriptオブジェクトの関数の範囲内で名前空間を維持する
- 24. PHP名前空間エイリアスは競合していますか?
- 25. C#名前空間のガイドライン
- 26. C++ - クラスの名前空間
- 27. C#XPATHの名前空間
- 28. ASP.NET 3.5では、ReorderListコントロールの名前空間は何ですか?
- 29. 別の名前空間内からのC++グローバル名前空間アクセス
- 30. [-1.0,1.0]の範囲の名前
「[namespace]を使用していますか? ? –
より簡単に使用される識別子の長い名前空間名のエイリアシングを意味するようです。http://msdn.microsoft.com/en-us/library/chwe1tc8.aspx – Twisol
名前空間エイリアス(および宣言を使用)にはC++の他の宣言と同じスコープ規則。 –