[問題] 清除vector所占空間的疑問
以下是我測試小程式
參考某網頁說 vector 不管是clear erase或怎樣的 都不會回收空間於是乎用以下測試
int main(int argc, char *argv[])
{
vector<int> p;
int i=1;
while(i<100000)
{
p.push_back(i);
i++;
}
cin>>i;
for(int i=0;i<1;i++)
std::vector<int>().swap( p );
cin>>i;
return 0;
}
我用工作管理員跑
他cin之前是占領2188K
cin後 占1688K
心得:恩真厲害 但是怎麼會是少500K???? sizeof(int)*100000 應該是400K呀?
請教各位 多清出來的謎樣100K 是甚麼???
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.207.187
推
08/11 04:10, , 1F
08/11 04:10, 1F
→
08/11 04:11, , 2F
08/11 04:11, 2F
→
08/11 04:30, , 3F
08/11 04:30, 3F
→
08/11 04:30, , 4F
08/11 04:30, 4F
→
08/11 04:31, , 5F
08/11 04:31, 5F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):