核查表不是任务清单。它的用途是帮你回忆起可能会忘掉的事情,而不是约束你。
下面的问题没有确切的答案,关键是要提醒你思考他们,并确认你所做的事情是出于有意识的决定,而不是偶然行为。
你的类需要一个构造函数码?(基本上是)
你的类成员是私有的吗?
你的类需要一个无参的构造函数码?
是不是每个构造函数初始化所有数据成员?
类需要析构函数吗?
类需要一个虚析构函数吗?
你的类需要复制构造函数吗?
你的类需要一个赋值操作符码?
你的赋值操作符能够正确地将对象赋给本身码?
你的类需要定义关系操作符码?
记得复制构造函数和赋值操作符地参数类型中加上const了吗?
如果函数有引用参数,他们应该加上const限定符码?
记得适当的声明成员函数为const了吗?
因为无法让编译器自动完成上述不完善定义的工作,所以程序员就得检查这些问题。
c++“只为用到的东西付出代价”。c++更适合喜欢思考的程序员