遍历std::vector<std::vector<std::string>> indexArr
时间: 2024-06-20 10:02:02 浏览: 109
遍历一个 `std::vector<std::vector<std::string>>` 结构,即二维字符串向量,通常涉及到两层循环,因为你需要遍历每个子向量中的字符串。这里是一个简单的示例,说明如何遍历:
```cpp
std::vector<std::vector<std::string>> indexArr; // 假设这是你要遍历的二维向量
// 遍历二维向量
for (size_t i = 0; i < indexArr.size(); ++i) { // 外层循环,遍历行
std::vector<std::string> row = indexArr[i]; // 获取当前行
for (size_t j = 0; j < row.size(); ++j) { // 内层循环,遍历列
std::string str = row[j]; // 获取当前元素
// 这里你可以对str执行任何操作,例如打印、处理或存储
std::cout << "Element at (" << i << ", " << j << "): " << str << std::endl;
}
}
```
相关问题
如何遍历std::vector<std::string>
遍历std::vector<std::string>的方法有很多种,这里给出两种常见的方法:
方法一:使用下标遍历
```cpp
#include <iostream>
#include <vector>
#include <string>
int main() {
std::vector<std::string> vec = {"hello", "world", "example"};
for (size_t i = 0; i < vec.size(); ++i) {
std::cout << vec[i] << std::endl;
}
return 0;
}
```
方法二:使用迭代器遍历
```cpp
#include <iostream>
#include <vector>
#include <string>
int main() {
std::vector<std::string> vec = {"hello", "world", "example"};
for (std::vector<std::string>::iterator it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << std::endl;
}
return 0;
}
```
遍历 std::vector<std::pair<std::string, int>>
遍历 `std::vector<std::pair<std::string, int>>` 是在C++中处理一对字符串和整数类型的元素列表。这个容器是一个双端向量,其中每个元素都是由一个字符串(std::string)和一个整数(int)组成的pair。以下是遍历它的基本步骤:
```cpp
#include <iostream>
#include <vector>
#include <string>
// 假设 pairs 存储了你想要遍历的内容
std::vector<std::pair<std::string, int>> pairs;
void iterateVector() {
for (const auto& pair : pairs) { // 使用范围for循环简化操作
std::cout << "String: " << pair.first << ", Integer: " << pair.second << std::endl;
}
}
int main() {
// 先填充pairs
pairs.push_back({"apple", 5});
pairs.push_back({"banana", 7});
pairs.push_back({"cherry", 3});
iterateVector();
return 0;
}
```
在这个例子中,`pair.first` 访问的是 string 类型的值,`pair.second` 则访问 int 类型的值。每次循环迭代都会打印出一对字符串和对应的整数值。
阅读全文