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).