的每次迭代我有一個結構如何釋放內存的結構,指針循環
typedef struct {
unsigned ccc;
unsigned ddd;
unsigned aaa;
unsigned bbb;
string ddd;
} objinfo;
已經參與到以下地方在我的代碼:
objinfo obj_tmp
multimap<string, objinfo> obj_map;
multimap<string, objininfo>::iterator it;
std::pair<multimap<string, objinfo>::iterator, multimap<string,objinfo>::iterator> Krange;
每個循環我將需要拋出舊的objinfo,obj_map並替換一個新的對象信息。 我可以做obj_map.clear()來清理地圖。
我還應該做些什麼來釋放與每個循環後舊對象 的結構,指針和映射有關的內存?
這真的取決於你如何爲你的結構分配內存。你的結構很可能在棧上,因此不需要手動內存管理 –
只需使用自動對象和內存管理就可以完成。 –
非常感謝!我的理解是,如果我聲明對象結構爲objinfo obj_tmp它是在堆棧上。但如果我使用「新」,那麼我應該把它與「刪除」(然後它在堆上),對吧?那麼指針怎麼樣?它的內存也會在每個循環之後釋放(假設我的聲明全部在循環中)? – user1830108