cpp中vector assign函数
时间: 2024-01-27 15:04:51 浏览: 25
在 C++ 中,`std::vector` 类型提供了 `assign` 函数,可以用于将一个 vector 赋值为另一个 vector 或者将 vector 中的元素替换为新的值。
`assign` 函数的语法如下:
```cpp
void assign (InputIterator first, InputIterator last); // 范围赋值
void assign (size_type n, const value_type& val); // 值赋值
```
其中,`first` 和 `last` 分别是赋值范围的起始位置和终止位置(不包括终止位置)。`n` 表示要赋的值的数量,`val` 是要赋的值。
例如,以下代码将一个 vector 赋值为另一个 vector:
```cpp
std::vector<int> v1 {1, 2, 3};
std::vector<int> v2 {4, 5, 6};
v1.assign(v2.begin(), v2.end()); // 将 v2 的所有元素赋值给 v1
// 现在 v1 中的元素为 4, 5, 6
```
以下代码将 vector 中的所有元素替换为新的值:
```cpp
std::vector<int> v {1, 2, 3};
v.assign(3, 0); // 将 v 中的所有元素赋值为 0
// 现在 v 中的元素为 0, 0, 0
```
注意,使用 `assign` 函数时,vector 的大小会被改变。如果新的大小比原来的大小小,vector 将会被截断。如果新的大小比原来的大小大,vector 将会被扩展,新元素将被初始化为默认值。