對於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++特有的方式進行使用。