21xrx.com
2024-12-22 21:12:35 Sunday
登录
文章检索 我的文章 写文章
如何清空C++中的Vector
2023-07-03 05:55:29 深夜i     --     --
C++ Vector 清空

在C++中,vector是一种常见的动态数组容器,通常用于存储一组变量。当我们不再需要一个vector中的全部或部分元素时,需要清空vector以回收内存。接下来将介绍如何清空C++中的vector。

方法一:使用vector的clear()函数

vector的成员函数clear()可以清空vector中保存的所有元素。调用clear()函数后,vector的大小变为0,但容量保持不变,这意味着vector保留了它的内存分配,以备以后的使用。

下面是一个演示如何使用clear()函数的代码示例:


#include <iostream>

#include <vector>

using namespace std;

int main()

{

  vector<int> myvector;

  // 添加一些元素到vector中

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

    myvector.push_back(i);

  }

  // 输出vector中的元素

  cout << "vector中的元素:";

  for(int i = 0; i < myvector.size(); i++) {

    cout << myvector[i] << " ";

  }

  cout << endl;

  // 清空vector

  myvector.clear();

  // 输出清空后的vector中的元素

  cout << "清空后vector中的元素:";

  for(int i = 0; i < myvector.size(); i++) {

    cout << myvector[i] << " ";

  }

  cout << endl;

  return 0;

}

输出结果:


vector中的元素:1 2 3 4 5 6 7 8 9 10

清空后vector中的元素:

方法二:使用vector的assign()函数

vector的成员函数assign()可以用新内容替换vector中的已有元素。我们可以使用一个空vector调用assign()函数来清空原vector。

下面是一个演示如何使用assign()函数的代码示例:


#include <iostream>

#include <vector>

using namespace std;

int main()

{

  vector<int> myvector;

  // 添加一些元素到vector中

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

    myvector.push_back(i);

  }

  // 输出vector中的元素

  cout << "vector中的元素:";

  for(int i = 0; i < myvector.size(); i++) {

    cout << myvector[i] << " ";

  }

  cout << endl;

  // 清空vector

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

  // 输出清空后的vector中的元素

  cout << "清空后vector中的元素:";

  for(int i = 0; i < myvector.size(); i++) {

    cout << myvector[i] << " ";

  }

  cout << endl;

  return 0;

}

输出结果:


vector中的元素:1 2 3 4 5 6 7 8 9 10

清空后vector中的元素:

方法三:使用vector删除元素

我们也可以使用vector的erase()函数以迭代器的方式删除元素。当我们需要删除vector的全部元素时,可以使用erase()函数将vector的begin()和end()迭代器作为参数。

下面是一个演示如何使用erase()函数清空vector的代码示例:


#include <iostream>

#include <vector>

using namespace std;

int main()

{

  vector<int> myvector;

  // 添加一些元素到vector中

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

    myvector.push_back(i);

  }

  // 输出vector中的元素

  cout << "vector中的元素:";

  for(int i = 0; i < myvector.size(); i++) {

    cout << myvector[i] << " ";

  }

  cout << endl;

  // 使用erase()函数删除vector中的元素

  myvector.erase(myvector.begin(), myvector.end());

  // 输出清空后的vector中的元素

  cout << "清空后vector中的元素:";

  for(int i = 0; i < myvector.size(); i++) {

    cout << myvector[i] << " ";

  }

  cout << endl;

  return 0;

}

输出结果:


vector中的元素:1 2 3 4 5 6 7 8 9 10

清空后vector中的元素:

综上所述,我们可以使用以上三种方法来清空C++中的vector。其中,使用clear()函数是最简单和最常用的方法,但如果需要回收vector所占用的内存,可以使用第二种或第三种方法。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复