书籍详情

Exceptional C++Style中文版(40个新的工程难题编程问题及解决方案)

Exceptional C++Style中文版(40个新的工程难题编程问题及解决方案)

作者:(美)Herb sutter 著;刘未鹏 译

出版社:人民邮电出版社

出版时间:2006-01-01

ISBN:9787115142252

定价:¥39.00

购买这本书可以去
内容简介
  本书中,C++大师HerbSutter通过40个编程问题,使读者不仅“知其然”,更要“知其所以然”,帮助程序设计人员在软件中寻找恰到好处的折中,即讨论如何在开销与功能之间、优雅与可维护性之间、灵活性与过分灵活之间寻找完美的平衡点。本书是围绕实际问题及其解决方案展开论述的,对一些至关重要的C++细节和相互关系提出了新的见解,为当今关键的C++编程技术(如泛型编程、STL、异常安全等)提供了新的策略。本书的目标是让读者在设计、架构和编码过程中保持良好的风格,从而使编写的C++软件更健壮、更高效。本书适合中高级C++程序员阅读。软件“风格”所要讨论的主题是如何在开销和功能性之间、优雅跟可维护性之间、灵活性与过分灵活之间寻找完美的平衡点。在本书中,著名的C++大师HerbSutter给出了40个编程问题,其目的不仅是为了使读者“知其然”,更要“知其所以然”,并帮助读者在软件开发中进行正确的选择。本书是围绕实际问题及其解决方案展开论述的,对一些至关重要的C++细节和相互关系提出了新的见解,为当今的关键C++编程技术(如泛型编程、STL、异常安全等)提供了新的策略。读者会在书中找到下列问题的答案。可以从STL本身学习哪些库设计的知识?如何避免削弱甚至损害模板代码的通用性?为什么不应当对函数模板进行特化?正确的做法是什么?异常安全性如何超越try和catch语句?应不应当使用异常规格?什么情况下应当“泄漏”一个类的私有成分,怎么做?如何让一个类不受版本更动的影响?使用标准库容器的实际内存开销是多少?如何使用const才能真正优化代码?内联对程序性能有何影响?为什么有些看似错误的代码实际上却能够通过编译且运行得很好?为什么我们要关心这种情况?std::string的设计有什么问题?本书使你能够在设计、架构和编码的过程中保持良好的风格,从而编写出所有更健壮和更高效的C++软件。
作者简介
  HerbSutterISOC++标准委员会主席,C++UsersJournal杂志特邀编辑和专栏作家。他目前在微软公司领导NET环境下C++语言扩展的设计工作。除本书外,他还撰写了三本广受赞誉的图书:ExceptionalC++Style(中文版即将由人民邮电出版社出版)、ExceptionalC++Style和MoreExceptionalC++Style。
目录
泛型编程与C++标准库        1
第1条  vector的使用        2
第2条  字符串格式化的“动物庄园”之一:sprintf        9
第3条  字符串格式化的“动物庄园”之二:标准的(或极度优雅的)替代方案        14
第4条  标准库成员函数        23
第5条  泛型性的风味之一:基础        26
第6条  泛型性的风味之二:够“泛”了吗        30
第7条  为什么不特化函数模板        36
第8条  友元模板        42
第9条  导出限制之一:基础        51
第10条  导出限制之二:相互影响,可用性问题以及准则        58
异常安全问题及相关技术        67
第11条  try和catch        68
第12条  异常安全性:值得吗        72
第13条  对异常规格的实际考虑        75
类的设计、继承和多态        83
第14条  顺序,顺序!        84
第15条  访问权限的使用        88
第16条  (几乎)私有        93
第17条  封装        101
第18条  虚拟        110
第19条  对派生类施加规则        118
内存和资源管理        129
第20条  内存中的容器之一:内存管理的层次        130
第21条  内存中的容器之二:它到底有多大        133
第22条  进行new操作,也许会抛出异常之一:new的方方面面        140
第23条  进行new操作,也许会抛出异常之二:内存管理中的实际问题        148
优化和效率        155
第24条  常量优化        156
第25条  再论内联        161
第26条  数据格式和效率之一:什么时候压缩是真正重要的        168
第27条  数据格式和效率之二:(甚至更少的)位操纵        172
陷阱、缺陷和谜题        179
第28条  不是关键字的关键字(或者:另一种注释)        180
第29条  这是初始化吗        186
第30条  要么double要么彻底完蛋        191
第31条  狂乱的代码        194
第32条  小小的拼写错误?鬼画符似的语言以及其他奇形怪状的东西        199
第33条  操作符,无处不在的操作符        202
风格案例研究        207
第34条  索引表        208
第35条  泛型回调        218
第36条  构造式union        226
第37条  分解std::string之一:概观std::string        242
第38条  分解std::string之二:重构std::string        247
第39条  分解std::string之三:给std::string瘦身        255
第40条  分解std::string之四:再论std::string        259
参考文献        267
索引        271
猜您喜欢

读书导航