7.=default ,=delete

  C++中如果不專門定義,編譯器會爲每一個類定義三種成員函數,默認的構造函數,默認的拷貝構造函數,默認的賦值構造函數(重載=),侯捷老師稱它們爲big-three,C++11中增加了移動構造函數和移動賦值構造函數(下圖中帶Zoo&&的),因此增加兩個,變成big-five(其實還有析構函數,編譯器也會默認給定一個)。如下圖中Empty類,這些默認的函數主要讓編譯器放置幕後的代碼,比如基類的構造等
相關文章
相關標籤/搜索