POD (Plain Old Data) = class/struct ที่มี เฉพาะ member variables ไม่มี methods, constructors, destructors, virtual functions, base classes, private/protected non-static members
ตัวอย่าง
#include <iostream>
using namespace std;
struct MyStruct { // POD
int key;
string data;
};
int main() {
MyStruct s;
s.key = 1;
s.data = "hello";
return 0;
}
เนื่องจากไม่มี user-defined ctor, dtor, assignment operators จึงเป็น POD สามารถใช้ memcpy, memset, ส่งไป C API ได้อย่างปลอดภัย
หมายเหตุ: นิยาม POD เปลี่ยนใน C++11 เป็น "trivial + standard layout" บทความนี้อาจเก่า