读书频道 > 网站 > 网页设计 > 大规模C++程序设计
2.3.2 自由函数
15-04-27    下载编辑
收藏    我要投稿   

本文所属图书 > 大规模C++程序设计

《大规模C++程序设计》由世界级软件开发大师John Lakos亲笔撰写,是C++程序设计领域最有影响力的著作之一。作者结合自己多年从事大规模C++项目的开发经验,详细介绍了大规模C++程序设计涉及的一系列概念、理论、立即去当当网订购

自由函数也会对全局名字空间形成威胁,尤其是参数签名中不包含任何用户定义类型时。如果一个自由函数在一个.h文件中定义为带有内部链接或者在一个.c文件中定义为带有外部链接,那么在程序集成过程中自由函数可能会与有相同名称(和签名)的另一个函数定义相冲突。运算符函数是一个例外。

主要设计规则

避免在.h文件的文件作用域内使用自由函数(运算符函数除外);在.c文件中避免使用带有外部链接的自由函数(包括运算符函数)。

幸好,自由函数总能分组到一个只包含静态函数的工具类(结构体)中。由此产生的内聚不一定是最佳的,但是可以减少全局名称冲突的可能性。举个例子:


 

唯一有冲突危险的符号是类名SysUtil。

不幸的是,自由运算符函数不能嵌套在类中。这不是一个严重的问题,因为自由运算符要求至少有一个参数是用户自定义类型。因此自由运算符冲突的可能性很小,而且这种冲突在实践中通常构不成问题。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站