Effective C++ Item 05-了解C++默默编写并调用哪些函数

 Item 05:了解C++默默编写并调用哪些函数(Know  what function C++ silently writes and calls


Ex: class Empty();

C++会默认写下:

class Empty{

public:

Empty(){...};                                                        //default构造函数

Empty(const Empty & rhs){...}                         //copy构造函数

~Empty(){...}                                                      //析构函数

Empty & operator = (const Empty & rhs)       //copy assignment操作符

}


作用:

1、default构造函数和析构函数主要是给编译器一个地方用来放置“藏身幕后”的代码

2、copy构造函数和copy assignment操作符,编译器创建的版本只是单纯地将来源对象的每一个non-static成员对象拷贝到目标对象


请记住:编译器可以暗自为class创建default构造函数,copy构造函数,copy assignment操作符,以及析构函数。



你可能感兴趣的:(C++,effective)