這是一個有效的LinkedList析構函數嗎?我仍然有點困惑他們。寫一個LinkedList析構函數?
我想確保我正確理解這一點。
LinkedList::~LinkedList()
{
ListNode *ptr;
for (ptr = head; head; ptr = head)
{
head = head->next
delete ptr;
}
}
因此,在循環的開始處,指針ptr被設置爲保存head的地址,即列表中的第一個節點。然後將頭部設置爲下一個項目,一旦第一次刪除發生,該項目將成爲列表的開始。 ptr被刪除,第一個節點也是如此。隨着循環的第一次迭代,指針再次設置爲頭。
關心我的事情正在到達最後一個節點。條件「頭」;應該檢查它不是null,但我不確定它是否會起作用。
任何幫助表示讚賞。
爲什麼不嘗試通過調試器運行代碼來查看它是否工作? – Manuel 2010-02-15 12:47:49
@Manuel,因爲某些平臺上的調試器沒有集成,而且很難使用? – 2010-02-15 13:05:07
我知道我會爲此拍攝(有人總是這樣做,但我是一個beleiver)。頭是一個成員變量,你真的應該有成員變量的命名約定,如m_head或head_ – pm100 2010-02-17 00:47:43