愛悠閑 > 定位new運算符

定位new運算符

分類: C++筆記  |  標簽: c++基礎  |  作者: u012303544 相關  |  發布日期 : 2015-11-29  |  熱度 : 1043°

1、程序員必須負責管理定位new運算符用于從中使用的緩沖區內存單元,要使用不同的內存單元,程序員需要提供兩個位于緩沖區的不同地址,并確保這兩個內存單元不重疊。
例如下代碼:

pc1 = new (buffer) JustTesting;
pc3 = new (buffer + sizeof(JustTesting)) JustTesting("Better Idea", 6);

2、如果使用定位new運算符來為對象分配內存,必須確保其析構函數被調用。通過顯式地為使用定位new運算符創建的對象調用析構函數。正常情況下將自動調用析構函數,這是需要顯式調用析構函數的少數幾種情況之一。顯式地調用析構函數時,必須指定要銷毀的對象。可以通過指向對象的指針。
例如下代碼:

pc3->~JustTesting();
pc1->~JustTesting();

銷毀對象時,晚創建的對象應先銷毀。



快乐彩中奖说明