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 日

572 次浏览

提升你的 职业生涯

完成课程,获得认证

开始
广告
© . All rights reserved.