我有一張動態分配的對象的地圖,想知道刪除它們的最佳方式是什麼?從地圖中刪除動態分配的內存
我在想也許是interator?就像:
studentlist::const_iterator deletemem = studentmap.begin();
for(studentlist::const_iterator deletemem=studentmap.begin(); deletemem!=studentmap.end();++deletemem)
{
Record *z=deletemem->second // Record is the type of object stored in the map student map
delete z;
}
但我不知道,任何幫助將不勝感激!
上面使用的代碼不是說只有我創建的指針被刪除,而不是保存在地圖中的實際數據?謝謝您的回答! – CXR 2011-05-20 12:59:48
@CXR:是的。我更新我的答案。 – 2011-05-20 13:01:51
等等,對不起,我有點困惑,所以我寫的代碼並不刪除地圖的內容?我已經在使用studentmap.clear(),只是想知道元素是否是動態分配的,是否需要單獨刪除它們,如果上面的代碼工作正常? – CXR 2011-05-20 13:05:11