Effective C++笔记(1)

Effective C++笔记(1)

Chapter 1.让自己习惯C++

条款01:视C++为一个语言联邦

C++是由四个次语言组成的联邦政府,每个次语言有自己的规约。

四个次语言分别为: C Object-Oriented C++ Template C++ STL

Note:

  • C++高效编程守则视状况而变化,取决于你用哪一部分


条款02:尽量以const,enum,inline替代#define

用#define宏定义常量,但可能常量名称没进入记号表,以后在其他地方用到时报错难以追踪。

Note:

  • 对于单纯常量,最好以const对象或enums替换#define
  • 对于形似函数的宏,最好改用inline函数替换#defines

条款03:尽可能使用const

Note:

  • 将某些东西声明为const可帮助编译器侦测出错误用法。const可被施加于任何作用域内的对象,函数参数,函数返回类型,成员函数本体。
  • 编译器强制实施bitwise constness,但你编写程序时应该使用“概念上的常量性”
  • 当const和non-const成员函数有着实质等价的实现时,令non-const版本调用const版本可避免代码重复。

条款04:确认对象被使用前已经先被初始化

Note:

  • 为内置型对象进行手工初始化,因为C++不保证初始化它们。
  • 构造函数最好使用成员初值列,而不要在构造函数本体内使用赋值操作。初值列列出的成员变量,其排列次序应该和它们在class中的声明次序相同,以避免出现误导和不必要bug
  • 为免除“跨编译单元之初始化次序”问题,请以local static对象替换 non-local static 对象。

    自己复习用的,所以简单摘要。

猜你喜欢

转载自blog.csdn.net/weixin_42622658/article/details/89742947