void test05()
{
vector<int> v;
for (int i = 0; i < 100;i ++){
v.push_back(i);
}
cout << "capacity:" << v.capacity() << endl;
cout << "size:" << v.size() << endl;
//此时 通过 resize 改变容器大小
v.resize(10);
cout << "capacity:" << v.capacity() << endl;
cout << "size:" << v.size() << endl;
//容量没有改变
// cout<<vector<int>(v).size()<<endl;//10
//cout<<vector<int>(v).capacity()<<endl;//10
vector<int>(v).swap(v);
cout << "capacity:" << v.capacity() << endl;
cout << "size:" << v.size() << endl;
}
运行结果
分析:
vector<int>(v)
//匿名对象 将v的内容复制了过来 ,capacity是并不是v的大小,而是实际内容所占的capacity。
vector<int>(v).swap(v);
//vector<int>(v)与v整体互换
在语句结束时会delete