Effective C++条款45: 弄清C++在幕后为你所写、所调用的函数

类默认生成的函数(当你自己不定义这些函数时):

一个拷贝构造函数,一个赋值运算符,一个析构函数,一对取址运算符、一个缺省构造函数。

class Empty {
public:
  Empty();                        // 缺省构造函数
  Empty(const Empty& rhs);        // 拷贝构造函数

  ~Empty();                       // 析构函数 ---- 是否
                                  // 为虚函数看下文说明
  Empty&
  operator=(const Empty& rhs);    // 赋值运算符

  Empty* operator&();             // 取址运算符
  const Empty* operator&() const;
};

const Empty e1;                      // 缺省构造函数
                                            // 析构函数

Empty e2(e1);                         // 拷贝构造函数

e2 = e1;                                 //  赋值运算符

Empty *pe2 = &e2;                  // 取址运算符
                                            // (非const)

const Empty *pe1 = &e1;          //  取址运算符
                                            // (const)

原文地址:https://www.cnblogs.com/helloweworld/p/3107873.html