C++中的聚合和POD是什麼?


POD是C++中純舊資料的縮寫。它是僅包含成員變數、不包含方法、建構函式、解構函式、虛擬函式等的類/結構。例如,

示例

#include<iostream>
using namespace std;

// POD
struct MyStruct {
   int key;
   string data;
};
int main() {
   struct MyStruct s;
   s.key = 1;
   s.data = "hello";
   return 0;
}

結構體MyStruct沒有任何使用者定義的建構函式、解構函式等,因此它是一個POD。

聚合是一個數組或一個沒有使用者宣告的建構函式、私有或受保護的非靜態資料成員、基類、虛擬函式的類。

如果一個聚合類沒有使用者定義的複製賦值運算子和解構函式,並且其任何非靜態成員都不是非POD類、非POD陣列或引用,那麼它被稱為POD。

更新於:2020年2月11日

570次瀏覽

開啟你的 職業生涯

透過完成該課程獲得認證

開始
廣告
© . All rights reserved.