条款1:尽量用const和inline而不用#define
条款3:尽量用new和delete而不用malloc和free
条款4:尽量使用c++风格的注释
条款5:对应的new和delete要采用相同的形式
1,如果你调用new时用了[],调用delete时也要用[]。如果调用new时没有用[],那调用delete时也不要用[]。
2,为了避免混乱,最好杜绝对数组类型用typedefs
条款6:析构函数里对指针成员调用delete
1,增加一个指针成员意味着几乎都要进行下面的工作:
·在每个构造函数里对指针进行初始化。对于一些构造函数,如果没有内存要分配给指针的话,指针要被初始化为0(即空指针)。
·删除现有的内存,通过赋值操作符分配给指针新的内存。
·在析构函数里删除指针。
2,删除空指针是安全的(因为它什么也没做)。
3,除非类成员最初用了new,否则是不用在析构函数里用delete的。