Posted on 2006-08-11 14:18
一秋草木 閱讀(1354)
評論(4) 編輯 收藏 引用 所屬分類:
C++
1.?????????
概念描述
在已經分配的動態內存空間上使用
new
創建新的對象。這種形式的
new
表達式就是
placement new expression
。
?
2.?????????
使用格式
new(place_address) type_specifier
①???????
place_address
,已經開辟空間的指針
②???????
type_specifier
,新分配對象的類型
?
3.?????????
實例
int *pBuff? = new int[1000];
long *pb?? = new(pBuff) long;???? //
即將
pBuff
內的一塊大小為
sizeof(long)
的內存區域的
???????????????????????????????????????????????????????????????? //
使用權給
pb
指向的對象。
?
4.?????????
使用注意
①???????
需要
#include<new>
②???????
不需要
delete pb
;
?????????????????? //
因為并沒有為
pb
開辟一塊內存。
pb
指向的對象只有使用權
如果使用
delete []pBuff;????????????? //
意味著其內存空間上的所有對象都被
kill
。