C++中命名空间的五大常见用法( 四 )

enum status{

ok

error

;

许多 c++ 项目使用此技巧 , 例如Unreal Engine(译者注:UNREAL ENGINE中文名称为“虚幻引擎” , 是目前世界最知名授权最广的顶尖游戏引擎 , 占有全球商用游戏引擎80%的市场份额)源代码就广泛使用此技术 。

隐藏实现

对于在头文件中实现的模板库 , 开发者在调用时不需要用到特殊的数据类型 , 因为他们只专注于功能的实现 , 所以对于找到一种适合开发者调用库的方法是很有趣的 。 在c#中 , “internal” 关键字做了这项工作 , 但是在c++中 , 没有办法将公有数据类型完全对开发者进行隐藏 。

在模块中将定义和实现分离 , 是由Boost库开发者们创建的一个c++惯用语法 , 但这些定义必须按照规则放入到一个可供开发者调用sub-namespace(子命名空间)中 。

推荐阅读