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