nonPOD
nonPOD refers to types in C++ that are not Plain Old Data (POD). POD types are simple, with a stable memory layout and trivial copy, move, and destruction semantics. nonPOD types do not satisfy these criteria and may have non-trivial constructors or destructors, virtual functions, non-standard layouts, or other features that affect their binary representation and copying behavior.
In practice, nonPOD includes classes or structs that have user-provided or non-trivial constructors or destructors, virtual
Consequences for code use include the inability to safely apply raw memory operations such as memcpy to
Modern terminology in C++ tends to use a refinement of POD, including concepts like standard-layout and trivially