c++ vector<string>
时间: 2023-08-18 19:08:19 浏览: 43
引用[1]中的代码展示了如何使用vector存储string类型的数据,并进行列表初始化。其中,v1是一个包含10个元素,每个元素都是字符串"hi"的vector;v3是一个包含10个默认初始化的字符串的vector;v4是一个只包含一个字符串"hi"的vector。代码还展示了如何使用循环遍历vector中的元素并输出。引用[2]中的代码展示了如何使用vector存储int类型的数据,并使用迭代器进行操作。代码展示了vector的基本操作,包括插入元素、删除元素、反转元素、排序元素等。引用[3]中的代码展示了如何使用string类来定义和操作字符串。代码展示了string的基本操作,包括插入字符、删除字符、替换子串、查找子串等。同时,代码还展示了如何将string对象作为vector对象的元素进行存储和访问。
相关问题
C++ vector<string>赋值
`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` 容器。
c++ vector<string> 用逗号连接
可以使用以下代码将 `vector<string>` 中的字符串以逗号连接起来:
```c++
#include <iostream>
#include <string>
#include <vector>
std::string join(const std::vector<std::string>& vec, const std::string& delimiter) {
std::string result;
if (!vec.empty()) {
result = vec[0];
for (size_t i = 1; i < vec.size(); ++i) {
result += delimiter + vec[i];
}
}
return result;
}
int main() {
std::vector<std::string> vec = {"hello", "world", "c++", "vector", "string"};
std::string delimiter = ",";
std::cout << join(vec, delimiter) << std::endl;
return 0;
}
```
这个程序定义了一个 `join` 函数,接受一个 `vector<string>` 和一个分隔符作为参数,将其中的字符串以分隔符连接起来,并返回连接后的字符串。程序中的 `main` 函数演示了如何使用 `join` 函数将 `vector<string>` 中的字符串以逗号连接起来。