STL-Vector容量問題:
1、clear,erase ,pop_back() 函式只刪除物件,並沒有釋放vec中的記憶體,若物件是指標還需要delete;
2、在erase,clear,pop_back()刪除物件的後,size改變,capacity保持不變,所以push_back也是在capacity範圍內進行插入新物件,當插入的資料數量大於capacity的時候,才進行擴容並再次插入;
3、釋放vec並清空capacity的方式:
{
delete vec[i];
vec[i]= NULL;
}
vec.clear(); //物件不為指標時可和上面的替換
vec.swap(vec<T*>());//若物件為指標,一定要先delete,否則也會造成記憶體洩漏;
4、 總結一下:
vector只有擴容,沒有減容之說,避免記憶體持續增長,對vector要進行適當釋放;
相關文章
- 記一次 Redis 容量 超限的問題Redis
- fdisk 更改分割槽容量遇到問題,還以為是oracle asm的問題OracleASM
- 架構思考-業務快速增長時的容量問題架構
- 使用 LVM 將多個硬碟合併,解決 /home 目錄容量不足問題LVM硬碟
- kafka容量評估Kafka
- 切片容量的理解
- 問題 C: 百雞問題
- 【問題】Nacos 使用問題整理
- 什麼是P問題、NP問題和NPC問題
- 通道的極限容量
- undo表空間容量
- 博基計劃(3)---P問題、NP問題、NPC問題、NP-hard問題
- [轉載]什麼是P問題、NP問題和NPC問題
- “降低要求”和“加大容量”
- Easysearch 容量規劃建議
- Elasticsearch 索引容量管理實踐Elasticsearch索引
- SRAM的容量擴充套件套件
- 資料庫雲容量管理資料庫
- 【問題記錄】—.NetCore 編譯問題NetCore編譯
- 請問一下mysql是不是限制了單個表的容量,能改嗎MySql
- Java服務.問題排查.問題復現Java
- 約瑟夫問題(丟手絹問題)
- 問題 F: 開燈問題(第二講)
- 提問題比解決問題更重要
- [開發問題]React-native問題集React
- 面試反問問題面試
- csrf問題
- 回溯問題
- LCS 問題
- 429問題
- 今日問題
- ABA 問題
- 【Git】問題Git
- MySQL 問題MySql
- pycharm問題PyCharm
- JS問題JS
- 接水問題
- 倒水問題