STL的對象初始化

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章