vector<vector<string>>怎么遍历
时间: 2023-10-19 21:07:34 浏览: 40
你可以使用两个嵌套的循环来遍历 `vector<vector<string>>`。第一个循环用于遍历外层的 `vector`,第二个循环用于遍历内层的 `vector`。下面是一个示例代码:
```cpp
#include <iostream>
#include <vector>
#include <string>
int main() {
std::vector<std::vector<std::string>> matrix = {
{"a", "b", "c"},
{"d", "e", "f"},
{"g", "h", "i"}
};
for (const auto& row : matrix) {
for (const auto& element : row) {
std::cout << element << " ";
}
std::cout << std::endl;
}
return 0;
}
```
以上代码将遍历并打印出 `matrix` 中的所有元素。你可以根据你的需求修改内部循环中的代码来执行你想要的操作。
相关问题
vector<int> 转 vector<string>
您可以使用标准库中的 `std::transform` 函数来将一个 `vector<int>` 转换为 `vector<string>`。下面是一个示例代码:
```cpp
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
int main() {
std::vector<int> intVector = {1, 2, 3, 4, 5};
// 创建一个空的 vector<string>
std::vector<std::string> stringVector(intVector.size());
// 使用 std::transform 进行转换
std::transform(intVector.begin(), intVector.end(), stringVector.begin(), [](int num) {
return std::to_string(num);
});
// 打印转换后的 vector<string>
for (const auto& str : stringVector) {
std::cout << str << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果将会是:`1 2 3 4 5`,每个整数都转换成了字符串。
vector<vector<string>>
vector<vector<string>>是一个嵌套的向量,其中每个元素都是一个字符串向量。它可以用来存储多维的字符串数组。 例如,你可以使用它来表示一个二维的字符串表格或矩阵。每个内部的字符串向量代表行,而外部的向量代表列。 与此同时,vector<vector<string>>也可以用来存储和操作多个字符串向量的集合。
要创建一个空的vector<vector<string>>对象,你可以像这样声明一个变量:vector<vector<string>> fle; 你也可以使用push_back()函数,向其中添加新的元素。 例如,你可以使用一个循环来向fle中添加一行一行的字符串,或者通过用户的输入来动态添加字符串。
总结来说,vector<vector<string>>是一个用于存储和操作多维字符串数组的数据结构,可以表示二维表格或矩阵,也可以存储和操作多个字符串向量的集合。你可以使用push_back()函数向其中添加新的元素,并通过循环或用户输入来动态添加字符串。