条款一:仔细区别 pointer(指针)和references(引用)。
条款二:最好使用c++类型的转型操作符。
条款三:绝不要以多态方式处理数组。
条款四:非必要,不要提供无参构造。
条款五:对定制的“类型转换函数”保持警觉。
条款六:区别++/--操作符的前置和后置形式。
条款七:千万不要重载&& ||和,操作符。
条款八:了解不同意义的new和delete。
条款九:利用destructers避免内存泄漏。
条款十:在constructers中避免内存泄漏。
条款十一:禁止异常流出destructers之外。
条款十二:了解“抛出一个异常”、“传递一个参数”、“调用一个虚函数”之间的差异。
条款十三:以by reference 方式捕捉异常
条款十四:明智使用exception specification。
条款十五:了解异常处理的成本。
条款十六:谨记80-20法则。
条款十七:考虑使用 lazy evaluation(缓式评估)。
条款十八:分期摊还预期的成本。
条款十九:了解临时对象的来源。
条款二十:协助完成“返回值优化”。
条款二十一:利用重载技术和避免隐式类型转换。
条款二十二:考虑以操作符复合形式(op=)取代其独身形式(op)。
条款二十三:考虑使用其他程序库。
条款二十四:了解virtual function、multiple inheritance、virtual base classes、runtime type identification 的成本。
条款二十五:将constructor 和 non-member function 虚化。
条款二十六:限制某个class 所能产生的对象数量。
条款二十七:要求(或禁止)对象产生在 heap中。
条款二十八;Smart Pointer (智能指针)。
条款二十九:Reference Counting (引用计数)。
条款三十:Proxy classes (替身类、代理类)。
条款三十一:让函数根据一个以上的对象类型来决定如何初始化。
条款三十二:在未来时态下发展程序。
条款三十三:将非尾端类设计为抽象类。
条款三十四:如何在一个程序中结合c++和c。
条款三十五;让自己习惯于标砖c++语言。