C++Qt如何将vector<vector<int>>转为一维的vector
时间: 2024-10-18 19:23:54 浏览: 22
zint库 C++ 用于一维码的生成
在C++中,如果你有一个二维向量`vector<vector<int>>`,想要将其转换为一维的`std::vector<int>`,可以使用嵌套循环遍历二维向量,并将每个元素添加到一维向量中。这里是一个简单的示例:
```cpp
#include <iostream>
#include <vector>
// 假设你有这样一个二维向量
std::vector<std::vector<int>> vec2d = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
// 定义一个一维向量来存放结果
std::vector<int> vec1d;
// 转换过程
for (const auto &sub_vec : vec2d) {
for (int i : sub_vec) {
vec1d.push_back(i);
}
}
// 或者使用RVO(Return Value Optimization)优化,如果编译器支持
vec1d = std::vector<int>(vec2d.begin(), vec2d.end());
// 打印一维向量的内容
for (int i : vec1d) {
std::cout << i << " ";
}
// 输出:1 2 3 4 5 6 7 8 9
阅读全文