C++ vector 釋放記憶體的兩種方法
待釋放vector: vector<valuetype> myvector
1.swap方法
vector<valuetype>().swap(myvector)
2. clear+shrink_to_fit
myvector.clear();
myvector.shrink_to_fit();
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> myvector;
for (int i = 0; i < 100; i++)
{
myvector.push_back(i);
}
cout << "capacity值為:"<<myvector.capacity() << endl;
cout << "size值為:" << myvector.size() << endl;
myvector.clear();
cout << "clear之後...." << endl;
cout << "capacity值為:" << myvector.capacity() << endl;
cout << "size值為:" << myvector.size() << endl;
vector<int>().swap(myvector);
cout << "swap操作後..." << endl;
cout << "capacity值為:" << myvector.capacity() << endl;
cout << "size值為:" << myvector.size() << endl;
for (int i = 0; i < 100; i++)
{
myvector.push_back(i);
}
cout << "重新push_back後...." << endl;
cout << "capacity值為:" << myvector.capacity() << endl;
cout << "size值為:" << myvector.size() << endl;
myvector.clear();
myvector.shrink_to_fit();
cout << "clear+ shrink_to_fit()後..." << endl;
cout << "capacity值為:" << myvector.capacity() << endl;
cout << "size值為:" << myvector.size() << endl;
cin.get();
}
執行結果如下圖:
相關文章
- vector 的記憶體釋放記憶體
- vector clear() 方法 記憶體釋放問題記憶體
- .Net記憶體管理釋放的兩種方式記憶體
- Vector() 記憶體釋放 不得不說的故事記憶體
- .NET 記憶體管理兩種有效的資源釋放方式記憶體
- C/C++使用malloc為結構體陣列分配記憶體(及free釋放記憶體)的三種方法C++結構體陣列記憶體
- C/C++記憶體分配以及釋放C++記憶體
- XCode釋放記憶體XCode記憶體
- 記憶體的分配與釋放,記憶體洩漏記憶體
- 如何主動釋放 HeapIdle 的記憶體API記憶體
- golang 釋放記憶體機制的探索Golang記憶體
- C++ - 二級指標動態記憶體申請與釋放C++指標記憶體
- C# 垃圾回收釋放記憶體C#記憶體
- SAP ABAP 的兩種記憶體物件型別記憶體物件型別
- C++六種記憶體序詳解C++記憶體
- 17 種檢視 Linux 實體記憶體的方法Linux記憶體
- 【譯】JavaScript的記憶體管理和 4 種處理記憶體洩漏的方法JavaScript記憶體
- 怎麼手動在rstudio中釋放記憶體?記憶體
- Linux系統手動釋放記憶體快取Linux記憶體快取
- c/c++ 標準容器 vector的記憶體空間是如何自動增長的C++記憶體
- Chrome 再次最佳化記憶體佔用問題,新增記憶體釋放開關Chrome記憶體
- C++記憶體管理C++記憶體
- 如何在Mac上釋放記憶體?Mac清除RAM教程Mac記憶體
- C++記憶體管理:簡易記憶體池的實現C++記憶體
- win10如何設定自動釋放記憶體_win10怎麼設定自動清理系統垃圾釋放記憶體Win10記憶體
- c++ std::vector 切記C++
- 記憶體管理兩部曲之實體記憶體管理記憶體
- iOS 解決設定rootViewController 記憶體不釋放問題iOSViewController記憶體
- mysql佔用記憶體高的一種解決方法MySql記憶體
- Linux 檢視記憶體使用情況的幾種方法Linux記憶體
- dll內申請的記憶體可以由呼叫它的程式釋放嗎?記憶體
- C++記憶體掃描C++記憶體
- C++記憶體管理剖析C++記憶體
- win10為硬體保留的記憶體怎麼釋放 win10取消為硬體保留的記憶體怎麼操作Win10記憶體
- C++ ——vector陣列筆記C++陣列筆記
- 【譯】Ringbahn的兩個記憶體Bug記憶體
- 記憶體管理兩部曲之虛擬記憶體管理記憶體
- linux結束處於Tl狀態的程序,釋放記憶體資源Linux記憶體