首页 > 代码库 > vector shrink_to_fit
vector shrink_to_fit
#include <bits/stdc++.h> using namespace std; int main() { vector<int>vec; for(int i = 0 ;i < 100 ; ++i) vec.push_back(i); cout << vec.size() << endl; //100 cout << vec.capacity() << endl; //128 vec.erase(vec.begin()+10,vec.end()); //改变了size,但是并未改变capccity cout << vec.size() << endl; //10 cout << vec.capacity() << endl; //128 vector<int>(vec).swap(vec); cout << vec.size() << endl; //10 cout << vec.capacity() << endl; //10 vec.clear(); //clear并未真正释放空间!!! cout << vec.size() << endl; //0 cout << vec.capacity() << endl; //10 vector<int> (vec).swap(vec); //这才真正释放了空间!! cout << vec.size() << endl; //0 cout << vec.capacity() << endl; //0 return 0; }
PS:C++11中已经实现了shink_to_fit函数。实现上述功能。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。