光clear是不釋放記憶體的,將你這段**修改了一下,你看看,應該能明白了,不明白執行一下就知道了。
#include
#include
using namespace std;
main()
cout << "未放元素時容器大小為: " << it.size() << "容器容量為: " << it.capacity() << endl; //未放元素
for(int i=0;i<100000;i++)
cout << "放元素後容器大小為: " << it.size() << "容器容量為: " << it.capacity() << endl; //放元素
it.clear();
cout << "clear後容器大小為: " << it.size() << "容器容量為: " << it.capacity() << endl; //clear
vector().swap(it);
cout << "swap後容器大小為: " << it.size() << "容器容量為: " << it.capacity() << endl; //swap
return 0;
} 執行結果:
未放元素時容器大小為: 0容器容量為: 0
放元素後容器大小為: 100000容器容量為: 131072
clear後容器大小為: 0容器容量為: 131072
swap後容器大小為: 0容器容量為: 0
Linux記憶體清理
第一類單位引數 1 b,bytes,以byte為單位顯示記憶體使用情況 2 k,kilo,以kb為單位,這也是預設值 3 m,mega,以mb為單位顯示內容使用情況 4 g,giga,以gb為單位顯示記憶體使用情況 第二類引數 1 h,human,自動將數值轉換為人類易讀形式 2 c,count,展...
Linux 記憶體清理
1.clear pagecache only.sync echo 1 proc sys vm drop caches 2.clear dentries and inodes.sync echo 2 proc sys vm drop caches 3.clear pagecache,dentries ...
vector記憶體釋放
centroidbinary.swap vector 前面的是vector 由於vector的記憶體占用空間只增不減,比如你首先分配了10,000個位元組,然後erase掉後面9,999個,留下乙個有效元素,但是記憶體占用仍為10,000個。所有記憶體空間是在vector析構時候才能被系統 empt...