我有两个向量。我想遍历两者的所有元素并做一些事情(比如打印出来)。所以我可以写这样的东西:
vector<int> vec_a{1, 2, 3}, vec_b{4, 5, 6, 7};
for (auto a : vec_a) {
cout << a;
}
for (auto b : vec_b) {
cout << b;
}
这有很多重复。我可以做类似的事情:
for (const auto& vec : {vec_a, vec_b}) {
for (auto elem : vec) {
cout << elem;
}
}
但这增加了一个额外的for(这还不错,但我想知道是否有更好的东西。类似于:
for (auto elem : concat(vec_a, vec_b)) {
cout << elem;
}
我知道我可以只连接向量(a la Concatenating two std::vectors)但这种语法甚至更笨拙(特别是因为我实际上有 4 个向量)。
我希望输出为:
1 2 3 4 5 6 7