vector assign
时间: 2023-07-26 16:05:03 浏览: 160
`vector` 是 C++ 标准库中的容器之一,用于存储和操作动态数组。`assign` 是 `vector` 类的成员函数之一,用于重新分配容器的元素。
`assign` 函数有多种重载形式,可以接受不同类型的参数,如:
1. `assign(n, value)`:将容器中的元素替换为 `n` 个值为 `value` 的副本。
2. `assign(first, last)`:将容器中的元素替换为迭代器 `first` 和 `last` 范围内的元素。
下面是一个使用 `assign` 函数的示例:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers;
// 使用 assign(n, value) 分配5个值为10的元素
numbers.assign(5, 10);
// 输出容器中的元素
for (int num : numbers) {
std::cout << num << " ";
}
std::cout << std::endl;
// 使用 assign(first, last) 分配新的元素
std::vector<int> moreNumbers = {1, 2, 3};
numbers.assign(moreNumbers.begin(), moreNumbers.end());
// 输出容器中的元素
for (int num : numbers) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
以上代码首先使用 `assign(5, 10)` 将 `numbers` 容器中的元素替换为5个值为10的元素,然后使用 `assign(moreNumbers.begin(), moreNumbers.end())` 将 `numbers` 容器中的元素替换为 `moreNumbers` 容器中的元素。
输出结果为:
```
10 10 10 10 10
1 2 3
```
希望能解答你的问题!如果还有其他问题,请继续提问。
阅读全文