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() 方法 記憶體釋放問題記憶體
- vector 避免記憶體頻繁分配釋放與手動釋放vector記憶體記憶體
- 正確釋放Vector的記憶體記憶體
- .Net記憶體管理釋放的兩種方式記憶體
- Vector() 記憶體釋放 不得不說的故事記憶體
- C++ Vector怎麼樣釋放記憶體,通過swap()函式C++記憶體函式
- .NET 記憶體管理兩種有效的資源釋放方式記憶體
- C/C++使用malloc為結構體陣列分配記憶體(及free釋放記憶體)的三種方法C++結構體陣列記憶體
- C/C++記憶體分配以及釋放C++記憶體
- C/C++記憶體釋放應注意的問題C++記憶體
- 記憶體的分配與釋放,記憶體洩漏記憶體
- 關於C++ delete 來釋放new分配的記憶體C++delete記憶體
- 記錄一下,linux釋放記憶體的方法Linux記憶體
- Vector清空資料與釋放記憶體(.clear與.swap的區別與使用)記憶體
- Linux釋放記憶體及手動釋放Oracle共享記憶體段Linux記憶體Oracle
- XCode釋放記憶體XCode記憶體
- linux釋放記憶體Linux記憶體
- 【c++】vector.clear()的記憶體洩露問題C++記憶體洩露
- GUN C++ STL中的vector的記憶體分配器C++記憶體
- 轉 linux 記憶體釋放Linux記憶體
- Linux釋放cache記憶體Linux記憶體
- linux 記憶體釋放命令Linux記憶體
- golang 釋放記憶體機制的探索Golang記憶體
- C# 垃圾回收釋放記憶體C#記憶體
- FireFox記憶體自動釋放Firefox記憶體
- C++ - 二級指標動態記憶體申請與釋放C++指標記憶體
- 如何主動釋放 HeapIdle 的記憶體API記憶體
- Linux之 手動釋放記憶體Linux記憶體
- mongodb釋放記憶體-切換日誌MongoDB記憶體
- Linux下如何釋放cache記憶體Linux記憶體
- Linux系統釋放cache記憶體Linux記憶體
- SAP ABAP 的兩種記憶體物件型別記憶體物件型別
- 如何釋放linux cache佔用的記憶體Linux記憶體
- android釋放記憶體的一個辦法Android記憶體
- 記憶體虛擬化技術,具體的實現方法有哪兩種?記憶體
- C/C++——C和C++怎樣分配和釋放記憶體,區別是什麼?C++記憶體
- C++六種記憶體序詳解C++記憶體