POD (Plain Old Data) - термин в C++, обозначающий простые структуры данных, которые совместимы с C. Это структуры, не имеющие сложных элементов, таких как виртуальные функции или нестандартные конструкторы.
Для структуры, чтобы быть POD:
- Все нестатические данные-члены должны быть POD-типа.
- Не должно быть пользовательских конструкторов, деструкторов, операторов присваивания.
- Все данные-члены должны быть публичными.
Пример POD-структуры:
#include <iostream>
using namespace std;
struct Person {
string name; // простой тип данных
int age; // простой тип данных
};
int main() {
Person person1 = {"John", 30}; // агрегатная инициализация
cout << "Name: " << person1.name << ", Age: " << person1.age << endl;
return 0;
}
Эта структура соответствует требованиям POD:
- Все члены публичные.
- Нет пользовательских конструкторов, деструкторов и операторов присваивания.
- Все члены — POD-типы (
string
иint
).