如果命名空间被定义为inline
,那么是否需要声明扩展命名空间inline
?换句话说,它是否允许声明一个命名空间只能内联一次,而忽略扩展声明中的限定符?内联命名空间是否必须始终具有这样的资格?
1
A
回答
0
我有机会向最好的顾问 - 编译器(G ++ 4.9.2):)
所以,我发现了什么:
它时并不需要资格namespces是内联扩展定义。命名空间的类型似乎在定义声明中被修复(=编译器看到的第一个)。随后的资格被忽略。因此,如果有人试图在扩展defenition中内联命名空间,编译器将不会给出任何特殊的警告,而只会抱怨丢失的类/函数声明。
仍然取决于应用程序是否限定扩展名称空间。在我的情况下,这是没有必要的,因为通过继承可以明确包含层次结构。如果不是这种情况,那么在头文件中限定内联命名空间可能还是个好主意,因为可能不知道哪个声明是定义的。
+0
这是接近什么标准说,但不是确切的;请参阅[\ [namespace.def \]/5](http://eel.is/c++draft/namespace.def#5)。 – bogdan
相关问题
- 1. 是否必须很难在命名空间中重载函数?
- 2. 本地JavaScript函数是必须的命名空间吗?
- 3. KML HREF必须始终是绝对的?
- 4. XML命名空间是必需的?
- 5. WPF ControlTemplates是否必须具有TargetType?
- 6. 联动匿名命名空间内的符号的规则命名空间
- 7. 具有空命名空间的AC#类
- 8. 命名空间具有相同的变量具名命名空间声明
- 9. 是否必须修改POST/GET vars中的所有空格?
- 10. 内联汇编使用命名空间
- 11. 不需要的内联的命名空间格式
- 12. $ scope是否必须始终用于Angular中的方法定义
- 13. PHP有关联的命名空间
- 14. PHP命名空间是否有完善的命名约定?
- 15. 名称必须是名称空间名称Visual Studio错误
- 16. 是否必须始终更新一对多关系包实例?
- 17. 元件“样式表”必须从模式命名空间“http://www.w3.org/2001/XMLSchema”
- 18. 项目的默认XML名称空间必须是MSBuild XML名称空间
- 19. 命名空间资源
- 20. Clojure Hello World - “没有这样的命名空间”错误
- 21. 使用XHTML命名空间,每个属性是否也有命名空间?
- 22. 具有不同的命名空间
- 23. “标签”是否始终以4个不间断空格表示?
- 24. 我必须这样做吗?
- 25. 隐藏内联命名空间标题中的私有常量
- 26. 我必须在svcutil.exe命令中包含xml名称空间吗?
- 27. 命名命名空间具有相同的类名
- 28. 是否有像这样的jQuery工具?
- 29. 'Setter.Property'必须具有非空值
- 30. 我是否必须重新开始?
这也是问[这里](http://stackoverflow.com/questions/11016220/what-are-inline-namespaces-for),虽然没有回答 –