1 让自己习惯 c++ ........................................................................................................................ 3
1.1 视c++为一个语言联邦 ................................................................................................ 3
1.2 宁以 const,inline ,enum代替 #define ........................................................................ 3
1.3 尽可能使用 const .......................................................................................................... 3
1.4 确定对象被使用前已经初始化 ................................................................................... 4
2 构造,析构,赋值运算 ........................................................................................................... 5
2.1 了解 c++默默编写并调用哪些函数? ......................................................................... 5
2.2 如果不想使用编译器生成的函数,就应该明确拒绝 ............................................... 5
2.3 为多态基类定义 virtual 析构函数 ................................................................................ 5
2.4 别让异常逃离析构函数 ............................................................................................... 6
2.5 绝不在析构和构造过程中调用虚函数 ....................................................................... 6
2.6 令operator =返回一个 refence to *this .......................................................................... 6
2.7 在operator =处理自我赋值 .......................................................................................... 6
2.8 复制对象时勿忘其每一个成分 ................................................................................... 6
3 资源管理 ................................................................................................................................... 8
3.1 以对象管理资源 ........................................................................................................... 8
3.2 在资源管理中小心 copy行为 ....................................................................................... 8
3.3 在资源管理类中提供对底层资源的访问接口 ........................................................... 8
3.4 成对使用 new和 delete要采用相同形式 ....................................................................... 9
3.5 以独立语句将 new对象放入智能指针 ........................................................................ 9
4 设计与声明 ............................................................................................................................. 10
4.1 让接口容易被正确使用,不容易被误用 ................................................................. 10
4.2 设计 class如同设计 type .............................................................................................. 10
4.3 宁以 pass by reference to const 代替 pass by value .................................................... 10
4.4 当需要返回值,别妄想返回其引用 ......................................................................... 10
4.5 将成员变量声明为 private .......................................................................................... 10
4.6 宁以 Non-member non-friend 替换 member函数 ......................................................... 11
4.7 所有参数均需类型转换,请采用 non-member函数 ................................................. 11
4.8 考虑写出一个不抛出异常的 swap成员函数 ............................................................. 11
5 实现 ......................................................................................................................................... 11
5.1 尽可能延后变量定义的时间 ..................................................................................... 11
5.2 尽量少做转型动作 ..................................................................................................... 11
5.3 避免返回指向对象内部成员的 handle ...................................................................... 11
5.4 为异常安全而努力是值得的 ..................................................................................... 12
5.5 理解 inline 函数的里里外外 ........................................................................................ 12
5.6 减少文件的编译依存关系 ......................................................................................... 12
6 继承与面向对象设计 ............................................................................................................. 12
评论0
最新资源