读书频道 > 网站 > 网页设计 > 大规模C++程序设计
1.2 typedef声明
15-04-24    下载编辑
收藏    我要投稿   

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

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

一个typedef声明为一个已存在的类型,而不是为一个新的类型创建一个别名。因此,typedef只给出类型安全性的假象。结果,在接口中typedef带来的坏处远远多于好处。

请看图1-4所示的类Person。我们已经决定在Person类的内部嵌套typedef声明,以避免影响全局名字空间,并且使它们更容易被找到。将SetWeight成员函数定义为一个以“Pounds”为单位的体重参数,同时getHeight方法返回以“Inches”为单位的身高。


 

可惜,嵌入的typedef并不比在文件作用域内声明的typedef提供更多的类型安全。


 

Inches和Pounds这两个类型名在结构上是相等的,因此完全可以互换。这些typedef全然没有编译时的类型安全,还让人很难知道其实际的类型。

然而,当涉及定义复杂的函数参数时,typedef确实有其存在的意义。例如,


 

将PCPMFDI声明为一个指针类型,指向一个const person成员函数,将它的参数设置为double类型,并返回一个int类型的返回值。在定义数据成员时,typedef也是很有用的,因为跨越不同的编译器和计算机硬件时,在定义的数据成员中必须保持常量的大小不变(见10.1.3节)。


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

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