我有一個動態數組中刪除一個動態對象(在本示例中,SIZE = 2):從一個動態數組
polyTerm** polyn = new polyTerm* [SIZE];
我然後添加一些新ponlyTerm對象到陣列:
polyn[0] = new polyTerm(5.0,1);
polyn[1] = new polyTerm(2.0,1);
現在我想從槽0中刪除對象,並使指針爲空。我會如何去做這件事?我目前有:
delete &polyn[0];
然後我用:
polyn[0] = NULL;
爲了使指針無效。
這項工作?
編輯: 糾正,我需要使用delete polyn[0]
- 即使如此,設置爲NULL應該影響指針,因爲它仍然會在技術上指向對象的原始位置。將其重置爲NULL將刪除可能稍後彈出的任何錯誤。
如果你使用'刪除[]',它會調用'polyTerm' –
的析構函數,我意識到了這一點,但是這將刪除所有的對象,正確嗎?我只想刪除位置0中的對象。 –
它對我來說很好看。它有什麼問題嗎? –