Effective C++学习笔记(第一章)

2022-02-23  本文已影响0人  crazyhank
条款01:视C++为一个语言联邦

C++是四个次语言的联邦,它们是:

条款02:尽量以const,enum,inline替换 #define
// 原代码
#define PI 3.14

替换为:

const double PI = 3.14;

使用const变量代替define还有一个好处是可以加入作用域,比如在一个类中定义一个该类专有的变量,如:

class A {
private:
  static const int MyVar = 10;
};

注意:一般来说在类的声明中包含一个static const变量,需要在实现文件中再给出定义,但很多编译器现在已经支持直接在类的声明(即头文件中)直接定义。

enum { Num = 5; };
int Array[Num];
template<typename T>
inline void callWithMax(const T& a, const T& b)
{
  f(a > b ? a : b);
}
条款03:尽可能使用const
条款04:确定对象被使用前已先被初始化
class A {
public:
  A() : val_(0) {  // 这里是初始化
    val_ = 10;  // 这里是赋值
  } 
private:
  int val_;
};
上一篇下一篇

猜你喜欢

热点阅读