1. 程式人生 > >effective c++乾貨之條款05:瞭解C++預設編寫並呼叫哪些函式

effective c++乾貨之條款05:瞭解C++預設編寫並呼叫哪些函式

如果你寫了一個空類:

class EmptyClass
{
};

當你寫下以下程式碼時:

EmptyClass a; //編譯器會自動為你建立一個建構函式,一個解構函式
EmptyClass b();//編譯器會自動為你建立一個拷貝建構函式
EmptyClass c = a;//編譯器會自動為你建立一個copy assignment操作符

也就是說,在需要建構函式、解構函式、拷貝建構函式、以及copy assignment操作符時,如果類中不含這些內容,那麼編譯器為自動新增預設構造、析構、拷貝構造以及copy assignment。

注意:如果手動的在類中新增以上某類函式時,編譯器不會再產生相應default函式。

關於拷貝構造與copy assignment: