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

Copy vector element of a vector to another vector

本文关键字:向量 元素 另一个 复制 一个      更新时间:2023-10-16

我有这个向量,

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

这里有一行代码。没有什么花哨的,但它可读。。。

for (auto& vec : gname) { cname.insert(cname.end(), vec.begin(), vec.end()); }

补充Karolys精细的一行。这是一个使用<algorithm>

std::for_each(gname.begin(), gname.end(), 
        [&cname](const std::vector<std::string>& stuff){
    cname.insert(cname.end(), stuff.begin(), stuff.end());});

不过,如果它符合一行字的条件,那么它是可以辩论的。