[英]When does boost::deque allocate/deallocate?
我試圖找到一些關於boost::container::deque
分配/釋放行為的保證,但找不到。 我的假設如下。
shrink_to_fit
之后才會被釋放?這些假設是否正確?
boost::deque 何時分配/解除分配?
Memory 將在容器被銷毀時釋放。 當容器收縮時,未使用的 memory 可能會被釋放。 否則分配和釋放沒有記錄,因此細節取決於庫的實現。
- 如果有空閑塊,則不會分配塊。
這是一個合理的期望,但文檔不能保證。
- 它保留所有釋放的塊,所以分配的塊只有在shrink_to_fit之后才會被釋放?
文檔也不保證這一點。 請注意,與向量不同,deque 可以滿足其復雜性要求,即使它提前釋放。
- 當沒有新項目的空間時,將分配一個新塊。 如果新分配的塊的句柄沒有空間,所有的塊句柄都會被重新分配。
文檔也不保證。 然而,當沒有可用空間時,可以合理地預期 memory 將被分配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.