我有这个载体,
std::vector <std::vector<std::string> > gname;
gname.push_back(std::vector<std::string>({"John","jake"}));
gname.push_back(std::vector<std::string>({"May", "harold}));
我希望将所有值从gname放到
std:vector<std::string> cname;
这可能使用c ++ 11吗?
答案 0 :(得分:3)
这是一个班轮。没什么好看的,但它可读......
for (auto& vec : gname) { cname.insert(cname.end(), vec.begin(), vec.end()); }
答案 1 :(得分:0)
补充Karolys精致的单线。这是一个使用<algorithm>
std::for_each(gname.begin(), gname.end(),
[&cname](const std::vector<std::string>& stuff){
cname.insert(cname.end(), stuff.begin(), stuff.end());});
如果它有资格作为单行,则可以辩论。