这本《More Exceptional C++中文版(40个新的工程难题编程疑问及解决方法)》由Herb Sutter著,於春景译,作为广为人知的《Exceptional C++》的续篇,采取了实用的“提问一一解答”的组织形式。为C什中现实世界问题的解决提供了各种成功的策略,一根据多年的一线经验,Herb Sutter为C++软件系统(从小项目到企业级应用)设计人员提供了经过测试的技术和实用的解决方案。
围绕着40个编程难题,本书助你理解对于C++成功软件没汁与开发来说极为重要的一些规则和话题、在这个续集所包含的新话题中,作者重点强调了泛型编程、內存管理及C++标准库的使用中所涉及的重要技术(如trait和predicate)。本书包含了一些使用标准容器和算法的指导方针和思考,而这些话题在其他的地方很少做过如此深度的讨沦。
对C++程序员来说,ISO/ANSI C++标准的问世标志着一个新纪元的开始。C++标准为程序设计提供了很多新的便利和可能,但要想在如此众多的信息中挖掘到其中的精髓,现实世界中的程序员缺少足够的时间。这本《More Exceptional C++中文版(40个新的工程难题编程疑问及解决方法)》由Herb Sutter著,於春景译,针对一定的主题,为程序员提供了简明扼要的指导,从而将学习时间和疑惑减至最少。本书内容包括泛型程序设计与C++标准库、优化与性能、异常安全议题及技术、继承与多态、内存及资源管理、自由函数与宏等。
《More Exceptional C++中文版(40个新的工程难题编程疑问及解决方法)》内容全面丰富,论述翔实清晰,作者权威且经验丰富,是C++程序员的必备读物。
与大师面对面(译序)
序
前言
泛型程序设计与C++标准库
条款1:流
条款2:Predicates,之一:remove()删除了什么?
条款3:Predicates,之二:状态带来的问题
条款4:可扩充的模板:使用继承还是traits?
条款5:typename
条款6:容器、指针和“不是容器的容器”
条款7:使用vector和deque
条款8:使用set和map
条款9:等同的代码吗?
条款10:模板特殊化与重载
条款11:Mastermind
优化与性能
条款12:内联
条款13:缓式优化,之一:一个普通的旧式String
条款14:缓式优化,之二:引入缓式优化
条款15:缓式优化,之三:迭代器与引用
条款16:缓式优化,之四:多线程环境
异常安全议题及技术
条款17:构造函数失败,之一:对象生命期
条款18:构造函数失败,之二:吸收异常?
条款19:未捕获的异常
条款20:未管理指针存在的问题,之一:参数求值
条款21:未管理指针存在的问题,之二:使用auto_ptr?
条款22:异常安全与类的设计,之一:复制赋值
条款23:异常安全与类的设计,之二:继承
继承与多态
条款24:为什么要使用多继承?
条款25:模拟多继承
条款26:多继承与连体双婴问题
条款27:(非)纯虚函数
条款28:受控的多态
内存及资源管理
条款29:使用auto_ptr
条款30:智能指针成员,之一:auto_ptr存在的问题
条款31:智能指针成员,之二:设计Va1uePtr
自由函数与宏
条款32:递归声明
条款33:模拟嵌套函数
条款34:预处理宏
条款35:宏定义
杂项议题
条款36:初始化
条款37:前置声明
条款38:typedef
条款39:名字空间,之一:using声明和using指令
条款40:名字空间,之二:迁徙到名字空间
后记
参考文献
索引