STL向量釋放
回答
你可以存儲在那裏指針時載體銷燬智能指針
採用矢量不應被刪除(如提高:: shared_ptr的)接收自動釋放
如果指針是共享的!否則使用boost :: ptr_vector – 2011-01-21 04:49:25
原因STL不會爲你做這件事,因爲它不知道它是否應該這樣做。你可能有一個指向數組的指針向量(在這種情況下,它需要做delete[]
),指向常規對象的指針(在這種情況下,它需要做delete
),或者可能有一些自定義分配器的內存。這些指針也可以與其他對象共享,在這種情況下,刪除它們會導致其他對象指向垃圾數據,導致未定義的行爲。這些指針也可以是堆棧分配的內存,在這種情況下不需要重新分配。
如果一個向量包含指針,這並不意味着指針指向動態內存。如果他們這樣做,應該將delete
還是delete[]
應用於每個指針?如果這些指針指向使用展示位置新創建的對象呢?所有這些問題都應該由程序員來解答,而不是由圖書館來解答。
「並不意味着......指向靜態內存」應該說「動態」。 – 2011-01-21 01:17:32
- 1. STL向量push_back()
- 2. WxWidgets和STL向量
- 3. STL向量分配
- 4. CUDA和STL向量
- 5. 刪除STL向量中的重複STL向量
- 6. 使用另一個stl向量重新排序stl向量
- 7. 尋找找到一個STL向量內的C + + STL向量
- 8. 釋放內存包含STL類
- 9. 釋放stl容器中的opencv圖像?
- 10. 釋放stl所佔用的空間
- 11. C++ STL向量半常數
- 12. STL向量的實現
- 13. STL向量和NSArray速度
- 14. 向量和使用STL
- 15. 插入到STL向量中
- 16. C++ STL排序向量
- 17. 限制stl的向量max_size
- 18. stl向量內存管理
- 19. STL向量比較問題
- 20. 參考STL向量類型
- 21. 在結構中釋放gsl向量
- 22. 釋放在類中分配的向量?
- 23. 從指針向量中釋放內存
- 24. 向量解釋
- 25. 當向量被清除時,stl向量中的stl向量是否超出範圍?
- 26. 將STL字符串和STL向量轉換爲void *?
- 27. TBB併發向量和STL向量之間的區別?
- 28. C + +在STL結構向量中的替換向量
- 29. 如何摺疊STL向量的子向量?
- 30. 與STL向量對齊分配
「給定STL指針向量,每個元素必須在銷燬向量本身之前解除分配」否,這並不遵循。無論如何,手動管理資源都不好。使用智能指針。 – GManNickG 2011-01-21 01:16:44