我想知道是否可以安全地做到這一點後,立即指針...分配給刪除
delete p_pointer;
p_pointer = p_otherPointer;
不是...
delete p_pointer;
p_pointer = 0;
p_pointer = p_otherPointer;
我會假設這樣,因爲有沒有刪除和分配之間的任何新的內存分配,但我只是想確保。
我想知道是否可以安全地做到這一點後,立即指針...分配給刪除
delete p_pointer;
p_pointer = p_otherPointer;
不是...
delete p_pointer;
p_pointer = 0;
p_pointer = p_otherPointer;
我會假設這樣,因爲有沒有刪除和分配之間的任何新的內存分配,但我只是想確保。
是的,它是安全的。如果您要重新指定它,將刪除的指針設置爲NULL是無用的。人們將刪除指針設置爲NULL的原因是,它們可以將其標記爲已刪除,以便以後可以檢查它是否已被刪除。
是的。 delete
是一個運營商。您將它傳遞給一個指針,並刪除該指針指向的對象。它對指針本身沒有任何作用。
這一點後,就可以不再提領與值的指針該指針了,但你可以繼續在適當的類型的不同對象指向它使用指針變量本身,例如。
其實auto_ptr::reset
正是這麼做的(至少在實現我見過)
而且,因爲如果他們不小心調用'反對,它應該delete'很好地表現一個空指針。 – 2009-11-15 13:58:44