1. 程式人生 > >placement new還是不要亂用的好,如果是用來處理陣列,記得多申請4個位元組

placement new還是不要亂用的好,如果是用來處理陣列,記得多申請4個位元組

首先是得手動掉解構函式,在釋放原指標,操作起來很煩嗎,忘了析構是常事

其次一點,當對陣列調placement new的時候會需要多用掉4個位元組用來儲存陣列個數

而如果忽略了這一點 申請記憶體的時候用的 operater new(sizeof(Class) * 10)

然後在申請到的記憶體上呼叫placement new,那麼會返回原地址+4的地址

前面四個位元組會用來儲存10這個數字

這樣就必然造成會踩壞後面的4位元組

所以如果要申請陣列時記得多申請4個位元組,以免出現記憶體踩壞