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.