C++中命名空间的五大常见用法.docx

上传人:安*** 文档编号:17788825 上传时间:2022-05-26 格式:DOCX 页数:5 大小:16.80KB
返回 下载 相关 举报
C++中命名空间的五大常见用法.docx_第1页
第1页 / 共5页
C++中命名空间的五大常见用法.docx_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《C++中命名空间的五大常见用法.docx》由会员分享,可在线阅读,更多相关《C++中命名空间的五大常见用法.docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C+中命名空间的五大常见用法CppDependTeam导语:可能很多程序员对C+已经非常熟悉,但是对命名空间经常使用到的地方还不是很明白,这篇文章就针对命名空间这一块做了一个表达。译者注:可能很多程序员对C+已经非常熟悉,但是对命名空间经常使用到的地方还不是很明白,这篇文章就针对命名空间这一块做了一个表达。命名空间在1995年度被引入到c+标准中,通常是这样定义的:命名空间定义了新的作用域。它们提供了一种防止名称冲突的方法。c+中的命名空间通常用于防止命名冲突。尽管命名空间在最近的c+代码中广泛使用,但大多数较旧代码都不使用此工具。基于对诸多C+工程源码的探究与研究,总结出了在这些工程中使用命

2、名空间的一些常见原因。防止名称冲突如前所述,这是在C+中使用命名空间最常见的原因,在这种情况下,它们的使用只是对编译器有效。无法为开发人员在代码可读性和维护性方面带来什么价值。模块化应用程序命名空间采取“Namespace-by-feature的方法使代码模块化。Namespace-by-feature通过命名空间来反映功能集。它将具有互相关联的项归类在同一个命名空间。这会形成具有高内聚低耦合译者注:高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务。耦合是一个软件构造内不同模块之间互连程度的度量、模块性很强的命名空间。Boost是按功能分组的最正确例如,它包含数以千计的命名空间,

3、每一个都用于对特定功能进展分组。匿名命名空间匿名的命名空间可防止产生全局静态变量。您创立的“匿名命名空间只能在创立它的文件中访问。解决枚举类型成员重名问题假如在同一个作用域内定义了具有一样名称的枚举,C+中的“传统枚举会在其作用域内导出枚举值,可能会导致名称冲突,在一个大型工程中,不能保证两个不同的枚举都不会以同名命名。这个问题在C+11中已经得以解决,它使用枚举类,隐式地对枚举名称中的枚举值进展定义。许多年度前,使用在命名空间内声明枚举的技巧解决这个问题,而不是像这样声明枚举enumstatusstatus_ok,status_error;它在命名空间中声明:namespacestatuse

4、numstatusok,error;许多c+工程使用此技巧,例如UnrealEngine译者注:UNREALENGINE中文名称为“虚幻引擎,是目前世界最知名受权最广的顶尖游戏引擎,占有全球商用游戏引擎80%的市场份额源代码就广泛使用此技术。隐藏实现对于在头文件中实现的模板库,开发者在调用时不需要用到特殊的数据类型,因为他们只专注于功能的实现,所以对于找到一种合适开发者调用库的方法是很有趣的。在c#中,“internal关键字做了这项工作,但是在c+中,没有方法将公有数据类型完全对开发者进展隐藏。在模块中将定义和实现别离,是由Boost库开发者们创立的一个c+惯用语法,但这些定义必须按照规那么放入到一个可供开发者调用sub-namespace子命名空间中。例如在boost:math文档中,它指定:不适用于应用程序的函数是在boost:math:detail中。声明:本文为转载类文章,如涉及版权问题,请及时联络我们删除QQ:2737591964,不便之处,敬请谅解!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁