复制矢量的向量元素到另一个向量

时间:2015-11-02 00:24:34

标签: c++ c++11

我有这个载体,

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吗?

2 个答案:

答案 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());});

如果它有资格作为单行,则可以辩论。