当前位置: 代码迷 >> 综合 >> v.clear(); vs swap(); -> v.size(),v.capacity()
  详细解决方案

v.clear(); vs swap(); -> v.size(),v.capacity()

热度:3   发布时间:2023-12-06 05:15:22.0

//01 v.clear();   只将 v.size() 清零, v.capacity() 则不变
02 swap();      若与空向量交换 上述两者都清零

// eg.
#include<bits/stdc++.h>
using namespace std;const int N=11;
vector<int> v;int main()
{for( int i=0;i<N;i++ ) v.push_back( i );cout<<v.size()<<' '<<v.capacity()<<endl;v.clear();cout<<v.size()<<' '<<v.capacity()<<endl;vector<int> temp;swap( v,temp );cout<<v.size()<<' '<<v.capacity()<<endl;return 0;
}
// 可能的输出:
// 11 16
// 0 16
// 0 0 

  相关解决方案