21xrx.com
2024-12-22 16:42:22 Sunday
登录
文章检索 我的文章 写文章
如何清空C++向量(vector)?
2023-07-12 11:44:48 深夜i     --     --
C++ 向量 清空

在C++编程语言中,vector是一种非常有用的容器,它可以动态增长,同时也是一种可以存储多种类型的数据结构。然而,在某些情况下,你可能需要清空vector中的数据,以便重新填充或回收内存空间。下面介绍几种常见的清空vector的方法。

1. 简单地使用clear函数

vector容器中提供了一个clear函数,可以快速地清空vector中的所有元素,语法非常简单:


vector<int> vec = 2;

vec.clear();

在这个例子中,我们首先定义了一个包含5个整数的vector,然后调用了clear()函数来清空vector。现在,vec中不再包含任何元素。

2. 使用assign函数

另一种清空vector的方法是使用assign函数。assign函数可以将一个新的值赋给vector。如果你将空的vector传递给它,那么vector会被清空:


vector<int> vec = 2;

vec.assign({});

在这个例子中,我们将一个空vector传递给assign函数,它会将vec清空。

3. 使用resize函数

resize函数可以用来改变vector的大小,如果将大小设置为0,则会清空vector,如下所示:


vector<int> vec = 4;

vec.resize(0);

在这个例子中,我们首先将vector的大小设置为0,这将把vector清空。

4. 使用swap函数

swap函数可以交换两个vector的内容,我们可以使用一个空vector跟原vector进行交换,以达到清空vector的目的:


vector<int> vec = 5;

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

在这个例子中,我们首先创建了一个空vector,然后使用swap函数将其与原vector进行交换,这将清空原vector。

以上就是清空C++向量的几种常用方法,你可以根据实际需求选择合适的方法。在进行vector清空操作之后,建议最好使用shrink_to_fit函数来回收内存空间,如下所示:


vector<int> vec = 2;

vec.clear();

vec.shrink_to_fit();

这样可以确保vector的大小和容量都为0,同时回收内存空间。

  
  

评论区

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