C++ vector<string>赋值
时间: 2023-07-28 22:07:36 浏览: 167
`vector` 容器的赋值方式和数据类型无关,下面以 `vector<string>` 为例进行说明。
在 C++ 中,可以使用 `=` 运算符或 `assign` 函数来给 `vector` 容器赋值。
1. 使用 `=` 运算符
使用 `=` 运算符可以将一个 `vector` 容器的值赋给另一个 `vector` 容器,例如:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<string> vec1 {"apple", "banana", "cherry"};
vector<string> vec2 = vec1;
// 输出 vec2 中的元素
for (string str : vec2) {
cout << str << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
apple banana cherry
```
2. 使用 `assign` 函数
使用 `assign` 函数可以将一个 `vector` 容器的值赋给另一个 `vector` 容器,也可以用一个元素值或者一个元素序列来填充 `vector` 容器,例如:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<string> vec1 {"apple", "banana", "cherry"};
vector<string> vec2;
// 将 vec1 中的元素赋值给 vec2
vec2.assign(vec1.begin(), vec1.end());
// 输出 vec2 中的元素
for (string str : vec2) {
cout << str << " ";
}
cout << endl;
// 用一个元素值填充 vec2
vec2.assign(5, "orange");
// 输出 vec2 中的元素
for (string str : vec2) {
cout << str << " ";
}
cout << endl;
// 用一个元素序列填充 vec2
vec2.assign({"apple", "banana", "cherry"});
// 输出 vec2 中的元素
for (string str : vec2) {
cout << str << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
apple banana cherry
orange orange orange orange orange
apple banana cherry
```
可以看到,`assign` 函数可以用来赋值、填充 `vector` 容器。
阅读全文