在函数定义中定义的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