在函數定義中定義的C++名稱空間別名是否具有塊,函數,文件或其他作用域(有效期)?C++中的名稱空間別名的作用域是什麼?
回答
這是一個塊有效性的持續時間。例如,如果您按如下方式定義名稱空間別名,則名稱空間別名abc將在{...}塊外部無效。
{
namespace abc = xyz;
abc::test t; //valid
}
abc::test t; //invalid
,但它在類範圍內不起作用。 – 2016-06-14 07:34:24
它將在其中定義的塊的範圍 - 可能與函數範圍相同,除非您在函數內的塊內聲明別名。
我很確定名稱空間別名只在其創建的塊中具有作用域,就像大多數其他類型的標識符一樣。目前我無法確定,但this page似乎沒有違背它。
據我所知,它在它的聲明範圍內。所以,如果你是一個方法的別名,那麼它在該方法中是有效的,但在另一個方法中是沒有的。
範圍是定義別名的聲明區域。
它是有效的在它被引入範圍的持續時間。
看看http://en.cppreference.com/w/cpp/language/namespace_alias,我相信cppreference的解釋,它更標準。
請不要只提供一個鏈接。還要添加您正在引用的頁面的至少一部分摘錄。 – Matthias 2013-10-28 02:13:54
- 1. 在C#中使用名稱空間別名有什麼好處?
- 2. Doctrine2中的實體名稱空間和別名是什麼?
- 3. C#名稱空間別名 - 有什麼意義?
- 4. 在C++中,什麼是「命名空間別名」?
- 5. 什麼是Google.Apis.Authentication的名稱空間;
- 6. 什麼是名稱空間「標準」?
- 7. C#中的名稱空間和子名稱空間#
- 8. C++中的命名空間別名
- 9. Doctrine的名稱空間別名
- 10. 爲什麼在C#中添加名稱空間別名可消除歧義?
- 11. 「./file」名稱和「../文件名」之間的區別是什麼
- 12. 應該在頭文件中使用C++名稱空間別名?
- 13. 專門化名稱空間中的模板 - 命名空間別名真的是別名嗎?
- 14. CSS中的命名空間/作用域
- 15. 是什麼導致「名稱空間中不存在類型或名稱空間名稱'UI'錯誤?
- 16. XML中名稱空間的區別
- 17. 什麼是調用程序集名稱的完全限定名稱空間?
- 18. C中的確切別名是什麼?
- 19. 什麼是aerospike中的命名空間
- 20. 什麼是擴展實現中的Get/SetPropertyValue的名稱空間
- 21. 根名稱空間和程序集名稱之間的區別
- 22. 整個類範圍內的C++名稱空間別名
- 23. 命名空間名稱空間控制器還有什麼?
- 24. 爲什麼C#不需要名稱空間或完整名稱空間(完全限定名稱)?
- 25. sqlite_master中名稱和tbl_name之間的區別是什麼?
- 26. 爲什麼以及如何在C++中使用名稱空間?
- 27. 如何在C++ 11中別名全局名稱空間
- 28. 爲什麼在C++名稱空間周圍使用extern「C」
- 29. 什麼是C++中使用的命名空間?
- 30. 張量流作用域名稱的約束是什麼?
你的意思是「使用[namespace];」 ? – 2009-09-30 00:56:06
它看起來像他意味着更長的名稱空間名稱的別名更容易使用的標識符:http://msdn.microsoft.com/en-us/library/chwe1tc8.aspx – Twisol 2009-09-30 01:00:42
名稱空間別名(和使用聲明)有與C++中其他聲明相同的範圍規則。 – 2009-09-30 01:46:57