什么是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结构没有用户定义的ctor,dtor等,因此是POD。

聚合是没有用户声明的构造函数,没有私有或受保护的非静态数据成员,没有基类,也没有虚函数的数组或类。

如果聚合类没有用户定义的复制分配运算符和析构函数,并且其所有非静态成员都不是非POD类,非POD数组或引用,则称为POD。

以上是 什么是C ++中的聚合和POD? 的全部内容, 来源链接: utcz.com/z/347142.html

回到顶部