POD(Plain Old Data Structures)在C++里通常不包含任何成员函数并且没有使用继承关系。它们在大多数的时候都可以被结构体所
取代。编译器可以使用纯粹的机器move指令,从而非常容易的在POD上实现对齐、拷贝和字段读取操作。程序员也可以使用比较低级
的内存拷贝操作(memcpy)。POD经常使用的操作是用C++的memset把它们置为0。但是C++标准不保证这样做可以得到预期的结果。
在某些特定的场合,C++是允许使用POD的。例如,一个联合体不能包含一个有虚函数或者nontrivial(nontrivial的解释可参见
《inside in c++ model》)构造和析构的类。这个约定因为编译器不能知道哪一个构造函数和析构函数将被调用,所以被强调出来
。
参考:
http://en.wikipedia.org/wiki/Plain_Old_Data_Structures