class checklist
构造函数
1)initialization list
2)异常保护,资源泄漏检查
3)this指针的使用
4)其他构造函数调用
5)虚函数调用
6)拷贝构造函数
7)隐式类型转换
析构函数
1)异常保护
2)虚函数调用
成员变量
1)compiler - firewall idiom
2)访问权限
3)traits
4)资源管理与智能指针
5)引用计数与Copy-On-Write
6)const / mutable / volatile
7)static成员变量的构造顺序与构造方式
成员函数
1)定义纯虚函数
2)虚拟析构函数与析构函数的访问权限
3)重载=运算符
4)重载increment/decrement
5)检查Named Returned Value优化
6)虚函数的预设参数
7)内联的使用
8)Proxy
9)重载运算符的标准形式
10)const函数与Const-correctness
11)异常保证支持/事务提交回滚
访问权限
1)成员变量可访问性
2)成员函数的访问权限
3)成员函数的返回类型
4)虚函数的的访问权限
5)成员模板函数
6)友元模版函数
接口与多态
1)开放封闭原则 / 模板方法的支持
2)Liskov可替换原则 / IS-A
3)public多继承的使用
4)叶子节点与非叶子节点
组合与继承
1)private多继承的使用
2)组合的使用
异常保证
1)异常保证的支持
2)具有强烈异常安全性的拷贝复值的规范形式
3)异常的处理原则(策略与边界)