条款16成对使用new和delete时要采取相同形式
建议:
如果你在new表达式中使用了[](数组),必须在delete表达式中使用[]。
条款19设计一个类需考虑的问题?
从事C++类设计比较少,但是如下问题在一般设计中也是同样需考虑的。
1新type的对象是如何被创建和销毁?
是单列模式,构造函数和析构函数如何编写,可以防止资源泄露等。
2对象的初始化和对象的赋值应该有什么差别?
3新的类型的对象如果被传值,意味着什么?
4新的类是否有继承和被继承的关系?
5新类型与其他类型间的转化?
6成员函数、成员变量、构造函数的访问限制?
条款20宁以pass-by-reference-to-const替换pass-by-value
尽量以pass-by-reference-to-const替换pass-by-value。前者通常比较高效,并可避免切割问题。如果是传值默认会调用拷贝构造函数,带来一次拷贝的开销等。
以上规则并不适用于内置类型,以及STL的迭代器和函数对象。