《More Exceptional C++中文版 40个新的工程难题、编程疑问及解决方法》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)HerbSutter著;于春景译
  • 出 版 社:武汉:华中科技大学出版社
  • 出版年份:2002
  • ISBN:7560927718
  • 页数:279 页
图书介绍:More Exceptional C++是Exceptional C++的续篇。根据多年程序开发的实践经验、Herb Sutter向C++程序员提供了久经考验的程序设计技术和行之有效的解决方案,这些技术和方案对设计从小型工程到企业级应用的现代软件系统大有裨益。 围绕着40个编程难题, More Exceptional C++引导读者深刻理解成功的C++软件设计和开发中至关重要的原则和议题。书中包括一些新的主题,强化了泛型程序设计、内存管理、C++标准库的使用等内容,并涵盖了traits和predicates这样的重要技术;还就使用标准容器和算法时应该牢记的准则和要点进行了分析——其它资料很少深入涉及这一主题。 读者可以在书中找到以下重要问题的解决方案:使用std::map和std::set时会遇到哪些陷阱?如何安全地避免这些陷阱?何种predicates可以安全地和STL一起使用?何种不行?为什么?想通过“与模板协同工作的类型”的能力改变模板自身的行为吗?有什么现有的技术可以写出这种威力强大的通用模板代码?何时应该优化你的代码?如何优化?为什么花哨的优化会(而且的确会)让我们陷入麻烦?

泛型程序设计与C++标准库 1

条款1:流 1

目录与大师面对面(译序) 3

序 5

条款2:Predicates,之一:remove()删除了什么? 6

前言 7

条款3:Predicates,之二:状态带来的问题 11

条款4:可扩充的模板:使用继承还是traits? 19

条款5:typename 32

条款6:容器、指针和“不是容器的容器” 36

条款7:使用vector和deque   46

条款8:使用set和map 53

条款9:等同的代码吗? 59

条款10:模板特殊化与重载 64

条款11:Mastermind 69

优化与性能 83

条款12:内联 83

条款13:缓式优化,之一:一个普通的旧式String   86

条款14:缓式优化,之二:引入缓式优化 90

条款15:缓式优化,之三:迭代器与引用 94

条款16:缓式优化,之四:多线程环境 103

异常安全议题及技术 115

条款17:构造函数失败,之一:对象生命期 115

条款18:构造函数失败,之二:吸收异常? 119

条款19:未捕获的异常 126

条款20:未管理指针存在的问题,之一:参数求值 132

条款21:未管理指针存在的问题,之二:使用auto_ptr? 135

条款22:异常安全与类的设计,之一:拷贝赋值 141

条款23:异常安全与类的设计,之二:继承 149

继承与多态 155

条款24:为什么要使用多继承? 155

条款25:模拟多继承 159

条款26:多继承与连体双婴问题 162

条款27:(非)纯虚函数 167

条款28:受控的多态 172

内存及资源管理 175

条款29:使用auto_ptr 175

条款30:智能指针成员,之一:auto_ptr存在的问题 182

条款31:智能指针成员,之二:设计ValuePtr 187

自由函数与宏 201

条款32:递归声明 201

条款33:模拟嵌套函数 206

条款34:预处理宏 215

条款35:宏定义 218

杂项议题 223

条款36:初始化 223

条款37:前置声明 226

条款38:typedef 228

条款39:名字空间,之一:using声明和using指令 231

条款40:名字空间,之二:迁徙到名字空间 234

后记 245

附录A:(在多线程环境下)并非优化 247

附录B:单线程String实现与多线程安全String实现的对比测试结果 263

参考文献 271

索引 273