读书频道 > 网站 > 网页设计 > 大规模C++程序设计
1.1.4 实现文件(.c)
15-04-24    下载编辑
收藏    我要投稿   

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

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

有时我们会选择定义一些函数和数据用于我们自己的实现,而不想这种实现暴露在编译单元的外部。带有内部链接而不带有外部链接的定义可能会出现在.c文件的文件作用域中,但不会影响全局(符号)名字空间。在.c文件的文件作用域内应该避免定义那些未被声明为静态的数据和函数。例如,


 

上面的定义有外部链接而且可能在全局名字空间中与其他类似的名字存在潜在的冲突。因为内联函数和静态自由函数有内部链接,这些种类的函数可以在.c文件的文件作用域内定义并且不会污染全局名字空间。例如,


 

枚举定义、声明为static的非成员对象,以及(默认)const数据定义也有内部链接。在.c文件的文件作用域中定义所有这些实体都是安全的。例如,


 

像typedef声明和预处理宏指令等其他结构,不会在.o文件中引入输出符号。它们也可能出现在.c文件的作用域内而不会影响全局名字空间。例如,



typedefs和宏指令在C++中用处有限,滥用有害。我们将在1.2节和2.3.3节论述typedef的危害,在2.3.4节论述宏指令的危害。

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

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