vector中的清零与压缩(swap)操作的统一格式

// 初始化操作

1  vector<int> v;

    for(int i=;i<10;++i)

         v.push_back(i);

2  清零操作

   v.clear();  v.resize(0);

//这两个操作只能完成清零操作,但并不会释放已分配的元素空间。

//即: v.size()值为0     v.capacity()值保持不变。

3   真正的清零操作

    v.swap( vector<int>() );

   //这个操作相当于构造一个空的vector来替换原来的v,所以v.size()和v.capacity()值均为0;

  //这个操作比 vector<int>().swap(v);可读性更强,理解更直接(也许每个人的感受不一样)。

4   压缩操作 shrink-it-fit,即v.size()和v.capacity()值相等

  // v.swap(v);               这样操作没有作用

 v.swap(  vector<int>(v)  );   //可读性强,理解更直接。

猜你喜欢

转载自blog.csdn.net/sichuanpb/article/details/81297016