21xrx.com
2025-07-12 21:27:15 Saturday
文章检索 我的文章 写文章
如何清空C++中的Vector
2023-07-03 05:55:29 深夜i     41     0
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所占用的内存,可以使用第二种或第三种方法。

  
  

评论区