[英]How can I make sure the std::vector allocated memory give back to operating system after deallocating?
[英]How can i make sure that memory allocated in case of MULTIMAP is freed
我有一個多圖,我想從中釋放分配給多圖的內存。
我在Stackoverflow的另一個問題中提出了與此相關的查詢, 此代碼是否會為MULTIMAP分配空閑的內存? 。
我的問題是,在多圖中使用擦除是否可以確保分配給多圖的所有內存空間都已釋放?
該標准未指定從容器中刪除某個元素是否會為該元素釋放所有內存。 唯一的保證是每個擦除對象的析構函數將被精確調用一次。 我無法想象為什么您可能需要保證內存已釋放,但是如果這樣做,則必須檢查所使用的特定實現。
如果您使用clear()(或與begin()和end()一起使用橡皮擦()),則將釋放多映射分配的項目的所有內存。
可以說,這非常好用。
如果先分配內存,然后在多圖中存儲指針,則需要自己釋放該內存。
它可以像往常一樣工作,分配->釋放它,對於int,char和multimaps,由他們來釋放分配的內存。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.