說我有兩個類創建工作和workItem。如何從類列表中釋放內存
CWorker *work = new CWorker();
CWorkItem *workItem = new CWorkItem();
工作類有一個公共列表m_WorkList,我將工作項添加到它。
work->m_WorkList.push_back(workItem);
如果我只是刪除工作
if(work != NULL)
delete work;
我需要遍歷列表類似下面的析構函數?任何更好的方式來做到這一點?我可以使用清晰嗎?
while(m_WorkList.size())
{
CWorkItem *workItem = m_WorkList.front();
m_WorkList.pop_front();
if(workItem)
delete workItem;
}
在刪除之前沒有理由檢查null。刪除null是無效的。另外,你真的需要動態分配任何東西嗎?理想情況下,你不會這樣做。 – GManNickG 2010-04-05 17:05:34