打印 std::vector<std::string>中元素
时间: 2024-06-17 14:07:15 浏览: 19
要打印 `std::vector<std::string>` 中的元素,可以使用循环遍历该向量,并使用 `std::cout` 输出每个元素。示例代码如下:
```
#include <iostream>
#include <vector>
#include <string>
int main() {
std::vector<std::string> vec = {"Hello", "World", "C++"};
for (const auto& str : vec) {
std::cout << str << std::endl;
}
return 0;
}
```
该程序定义了一个 `std::vector<std::string>` 类型的变量 `vec`,其中包含三个字符串元素。然后使用 `for` 循环遍历 `vec` 中的所有元素,并将其输出到控制台。
相关问题
遍历std::vector<std::vector<std::string>> indexArr
遍历一个 `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::pair<std::string, std::vector<string>>>,请问如何分别取到std::pair中的std::string和std::vector<string>呢
要分别取到`std::pair`中的`std::string`和`std::vector<string>`,可以使用`std::get`函数。示例代码如下:
```cpp
#include <iostream>
#include <vector>
#include <string>
int main() {
std::vector<std::pair<std::string, std::vector<std::string>>> vec;
// 添加一些数据到vec中
vec.push_back(std::make_pair("pair1", std::vector<std::string>{"string1", "string2", "string3"}));
vec.push_back(std::make_pair("pair2", std::vector<std::string>{"string4", "string5"}));
vec.push_back(std::make_pair("pair3", std::vector<std::string>{"string6"}));
// 遍历vec,取出每个pair中的string和vector<string>
for (const auto& pair : vec) {
std::cout << "First string: " << std::get<0>(pair) << std::endl;
std::cout << "Second vector of string: ";
const auto& vectorOfString = std::get<1>(pair);
for (const auto& str : vectorOfString) {
std::cout << str << " ";
}
std::cout << std::endl;
}
return 0;
}
```
输出结果:
```
First string: pair1
Second vector of string: string1 string2 string3
First string: pair2
Second vector of string: string4 string5
First string: pair3
Second vector of string: string6
```