对于POD类型的,
使用
int *p=::operator new(sizeof(int))
*p=int()
来初始化
非POD
NOPOD *p=::operator new(sizeof(NOPOD))
new (p) NOPOD()
来初始化
这是placement new运算符
POD是指:
POD指的是这样一些数据类型:基本数据类型、指针、union、数组、构造函数是 trivial 的 struct 或者 class。
POD用来表明C++中与C相兼容的数据类型,可以按照C的方式来处理(运算、拷贝等)。非POD数据类型与C不兼容,只能按照C++特有的方式进行使用。