
| 和它的姊妹篇《Effective C++》搭配,是每个C++开发者必不可少的书籍。 这是一本在C++的诸多方面都给人以启迪的书籍:不论是在很少用到的语言特性上,还是在你自以为十分熟悉的语言特性上。只有深刻了解C++编译器是如何解释代码的,你才有可能使用这门语言编写出健壮的软件。本书是帮助你达到这种理解层次的一份极具价值的资料。读过本书之后,我感觉像是和一个C++编程大师一起做了一次代码复查(code review),并从他那里获得了许多真知灼见。 ——Fred Wild,技术副总裁,Advantage Software echnologies 本书所给出的建议都是源于日常编程实践的一些真知灼见。和它的姊妹篇《Effective C++》一样,本书是每个C++开发者必不可少的书籍。 作者Meyers在本书中为我们呈现了35种用于提升程序和设计的新方法。根据多年的经验,Meyers解释了如何才能编写更高效的C++软件:运行效率更高、更为健壮、更为稳定、更容易移植以及更易于重用。简而言之,就是如何编写更好的C++软件。 一些经过实践检验的用来改善程序效率的方法,包括检验C++语言特性所带来的时间和空间上的开销。 全面地描述了C++专家所使用的高级技术,包括placement new、虚构造函数、智能指针、引用计数、代理类和双重分派等。 本书主要特点:以实例说明异常处理从结构上及行为上给C++类和函数带来的巨大影响。 从实用的角度介绍新的语言特性,包括bool、mutable、explicit、namespaces、成员模板以及标准模板库等。如果你的编译器还不支持这些新特性,Meyers会告诉你如何使用其他的方法来达到同样的效果。 《More Effective C++》的英文影印版已由机械工业出版社引进出版。《More Effective C++》英文版?自第一次印刷以来,至今销售已超过数十万册,译者手头的英文原书是2005年8月份第21次印刷的版本。本书的经典性和它的姊妹篇《Effective C++》一样毋庸置疑。相比《Effective C++》,本书对于运算符重载、默认构造函数、异常处理、延迟计算(lazy evaluation)、代理类(proxy class)、智能指针(smart pointer)、双重分派(double?dispatching)等主题进行了深入和详尽的讨论。毫无疑问,这些主题是每个从事C++程序开发的专业人员都应该掌握的内容。 |
| “C++设计新思维”丛书前言 对本书的赞誉 译者序 引言 致谢 第1章 基础议题 条款1:区分指针和引用 条款2:优先考虑C++风格的类型转换 条款3:决不要把多态应用于数组 条款4:避免不必要的默认构造函数 第2章 运算符 条款5:小心用户自定义的转换函数 条款6:区分自增运算符和自减运算符的前缀形式与后缀形式 条款7:不要重载“&&”、“II”和“,” 条款8:理解new和delete在不同情形下的含义 第3章 异常 条款9:使用析构函数防止资源泄漏 条款10:防止构造函数里的资源泄漏 条款11:阻止异常传递到析构函数以外 条款12:理解抛出异常与传递参数或者调用虚函数之间的不同 条款13:通过引用捕获异常 条款14:审慎地使用异常规格 条款15:理解异常处理所付出的代价 第4章 效率 条款16:记住80—20准则 条款17:考虑使用延迟计算 条款18:分期摊还预期的计算开销 条款19:了解临时对象的来源 条款20:协助编译器实现返回值优化 条款21:通过函数重载避免隐式类型转换 条款22:考虑使用叩=来取代单独的op运算符 条款23:考虑使用其他等价的程序库 条款24:理解虚函数、多重继承、虚基类以及RTTI所带来的开销 第5章 技巧 条款25:使构造函数和非成员函数具有虚函数的行为 条款26:限制类对象的个数 条款27:要求或者禁止对象分配在堆上 条款28:智能指针 条款29:引用计数 条款30:代理类 条款31:基于多个对象的虚函数 第6章 杂项 条款32:在将来时态下开发程序 条款33:将非尾端类设计为抽象类 条款34:理解如何在同一程序中混合使用C++和C 条款35:让自己熟悉c++语言标准 推荐读物 附录 auto_ptr的一个实现 |
商品评论(0条)