百度云及其他网盘下载地址:点我
编辑推荐
《More Exceptional C++:40个新的工程难题、编程疑问及解决方法(中文版)》作为广为人知的《Exceptional C++》的续篇,采取了实用的“提问——解答”的组织形式,为C++中现实世界问题的解决提供了各种成功的策略。根据多年的一线经验,Herb Sutter为C++软件系统(从小项目到企业级应崩)没计人员提供了经过测试的技术和实用的解决方案。
围绕着40个编程难题,《More Exceptional C++》助你理解对于C++成功软件没汁与开发来说极为重要的一些规则和活题,在这个续集所包含的新活题中,作者重点强渊了泛型编程、内存管理及C++标准库的使用中所涉及的重要技术(如trait和predicate)。《More Exceptional C++:40个新的工程难题、编程疑问及解决方法(中文版)》包含了一些使用标准容器和算法的指导方针和思考,而这些话题在其他的地方很少做过如此尝试的讨论。
读者将会得到如下一些问题的解决方案:
当使用std:map和std:set时会遇到哪些陷阱,如何安全地避免这些陷阱。
在STL中使用哪些predicate是安全的,哪些是不安全的,以及其原因。
可以采用哪些技巧来写出强大的通用模板代码,这些模板能基于它所处理的类型的能力来改变自己的行为。
你该何时优化代码,如何优化;为什么花哨的优化会给我们带来麻烦;如果你正在写多线程安全的代码,结果又将会如何变化。
异常的安全性会影响类的设计吗?它能通过事后加装上去吗?
在合并由不同厂家提供的基于继承而实现的库的时候,如何避免连体双婴(Siamese Twin)问题?
如何安全地使用auto-ptr,如何采用没汁模式来改造它以避免常见的陷阱;能否将auto-ptr当做一个类成员使用;如果你想要那么做的话,你需要提前知道什么。
还有一个关于C++的最经常反复出现的问题:你应该什么时候使用名字空间,以及如何使用。
作为一个真正的程序员的必备法宝,《More Exceptional C++》在引导你如何写出优异的代码的同时,会让你对C++有透彻与切实的理解。
作者简介
作者:(美国)舒特(Herb Sutter) 译者:於春景
Hterb Sutter是公认的C++软件开发专家,他同时定期地在世界各地的会议上应邀座淡。作为130多篇技术文章的作者,Herb同时担任ISO/ANSI C++标准委员会的秘书、C/C++ Users杂志的特约编辑和专栏作家,以及C++ Report的前主编。在主要的C++语言的Internet新闻组comp.lang,C++,moderated上。发表有Herb广为流传的“C++ Guru of the、Week”系列,该新闻组自1995年成立以来,一直由Herb担任主持。
目录
与大师面对面(译序)
序
前言
泛型程序设计与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存在的问题
条款3 1:智能指针成员,之二:设计Value Ptr自由函数与宏
条款32:递归声明
条款33:模拟嵌套函数
条款34:预处理宏
条款35:宏定义杂项议题
条款36:初始化
条款37:前置声明
条款38:typedef
条款39:名字空间,之一:using声明和using指令
条款40:名字空间,之二:迁徙到名字空间
后记
附录A:(在多线程环境下)并非优化
附录B:单线程String实现与多线程安全string实现的对比测试结果
参考文献
索引
百度云及其他网盘下载地址:点我
原文地址:https://www.cnblogs.com/awesome-share/p/10046714.html