天天看點

POD類型

POD全稱Plain Old Data。通俗的講,一個類或結構體通過二進制拷貝後還能保持其資料不變,那麼它就是一個POD類型。

C++11将POD劃分為兩個基本概念的合集,即:平凡的和标準布局的。

有平凡的構造函數

有平凡的拷貝構造函數

有平凡的移動構造函數

有平凡的析構函數

有平凡的拷貝指派運算符

有平凡的移動指派運算符

不能含有虛函數

不能包含虛基類

所有非靜态成員有相同的通路權限

繼承樹中最多隻能有一個類有非靜态資料成員

子類的第一個非靜态成員不可以是基類類型

沒有虛函數

沒有虛基類

所有非靜态成員都符合标準布局類型

當一個資料類型滿足了”平凡的定義“和”标準布局“,我們則認為它是一個POD資料。可以通過std::is_pod來判斷一個類型是否為POD類型。

C++11:POD資料類型

繼續閱讀