admin 管理员组

文章数量: 1184232


2024年3月20日发(作者:webservice对接java接口打印)

千里之行,始于足下。

vector assign用法

vector的assign方法是C++标准模板库(STL)中的一个函数,用于向向

量(vector)容器中分配新的元素。

vector是一个动态数组,存储在连续的内存块中,并具有动态扩展和缩小

的能力。在向vector容器中添加元素时,如果已分配的内存空间不够,会自动

申请更大的空间,并将原有的元素拷贝到新的内存空间中。

assign方法有多个重载形式,主要用于将指定的元素赋值给vector容器。

下面是assign方法的几种常见用法:

1. assign(n, value):将n个值为value的元素赋值给vector容器。

```cpp

vector v;

(5, 1); // 将5个值为1的元素赋值给v

```

上述代码将在v中分配5个元素,每个元素的值为1。

2. assign(first, last):将范围[first, last)内的元素赋值给vector

容器。

```cpp

vector v;

int arr[] = {1, 2, 3, 4, 5};

(arr, arr + 5); // 将数组arr中的元素赋值给v

第 1 页/共 3

锲而不舍,金石可镂。

```

上述代码将数组arr中的元素赋值给v。

3. assign(InputIterator first, InputIterator last):将范围[first,

last)内的元素赋值给vector容器。

```cpp

vector v;

vector v2 = {1, 2, 3, 4, 5};

((), ()); // 将v2中的元素赋值给v

```

上述代码将v2中的元素赋值给v。

assign方法在赋值元素前会清空vector容器中原有的元素。因此,使用

assign方法可以快速清空和重新赋值vector容器。例如:

```cpp

vector v;

v = {1, 2, 3, 4, 5}; // 将容器中的元素清空,并赋值为{1, 2, 3, 4,

5}

```

上述代码使用赋值运算符重载实现了清空和重新赋值的功能,与assign方

法等效。

此外,assign方法还可以用于向vector容器中添加新的元素。当向

vector中添加元素时,assign方法会将已有的元素清空,并将新的元素添加到

容器中。例如:

千里之行,始于足下。

```cpp

vector v = {1, 2, 3};

({4, 5, 6}); // 将容器中的元素清空,并赋值为{4, 5, 6}

```

上述代码将v中的元素清空,并将{4, 5, 6}添加到容器中。

总结:

assign方法是vector容器中的一个成员函数,用于向容器中分配新的元

素。其常见用法包括将指定数量和值的元素赋值给容器,以及将指定范围内的

元素赋值给容器。在赋值元素前,assign方法会清空容器中原有的元素。此外,

assign方法还可以用于向容器中添加新的元素。

第 3 页/共 3


本文标签: 元素 容器 赋值 清空 方法