placement new還是不要亂用的好,如果是用來處理數組,記得多申請4個字節

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

 

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

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

然後在申請到的內存上調用placement new,那麼會返回原地址+4的地址

前面四個字節會用來存儲10這個數字

這樣就必然造成會踩壞後面的4字節

 

所以如果要申請數組時記得多申請4個字節,以免出現內存踩壞

發佈了37 篇原創文章 · 獲贊 3 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章