POD, Plain Old Data, - это любой тип C ++, имеющий эквивалент в C.
cv-квалифицированный тип - это тип, квалифицированный как const или volatile.
// non cv_qualified
int one;
char *two;
// cv-qualified
const int three;
volatile char * four;
Элементы данных типа POD должны быть открытыми и могут иметь любые примитивные типы: bool, числовые типы, типы перечисления, типы указателей данных, тип указателя на функцию, а также массивы любого из предыдущих.
struct A //POD
{
int n;
double y;
};
struct B //non-POD
{
private:
int n;
double y;
};