目前存在用一个函数连接或合并两个 vector 的方法。
但是,似乎没有办法用一个函数连接或合并三个以上的 vector 。
例如,
vector<string> a = {"a", "b"};
vector<string> b = {"c", "d"};
vector<string> c = {"e", "f"};
vector<string> d = {"g", "h"};
// newVector has to include {"a", "b", "c", "d", "e", "f", "g", "h"}
vector<string> newVector = function(a, b, c, d);
如果没有的话,好像可以用variadic template来实现。
但是,我无法想象如何通过可变参数模板实现它。
有什么解决办法吗?
最佳答案
如果可以使用range v3 ,你可以简单地这样做:
std::vector<std::string> allVec = ranges::view::concat(a, b, c, d);
参见 demo here .
您可以将其用于任何 vector 类型。
关于c++ - 有没有办法简单地连接多个 vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54229010/