我有一个容器的容器,我想将每个对象中的相同成员复制到该成员类型的容器中.
就是这样的:
struct X { int x; }
std::vector<X> src;
std::vector<int> dst;
...
auto it_dst = dst.begin();
for (auto& element : src) {
*(it_dst++) = element.x;
}
Run Code Online (Sandbox Code Playgroud)
当然,使用算法而不是for循环.
看起来像是一个transformlambda 的工作(我认为你还没有分配你的矢量):
std::transform(src.begin(), src.end(), std::back_inserter(dst),
[](const auto& v) -> int { return v.x; });
Run Code Online (Sandbox Code Playgroud)