向量范围构造函数与另一个向量的更新数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了向量范围构造函数与另一个向量的更新数据相关的知识,希望对你有一定的参考价值。
是否有可能使用另一个vector< pair <int,int> >
的范围构造函数创建vector<int>
?例如。
vector < pair <int, int>>
首先是vector<int>
数据,第二是索引。
答案
您想要转换原始矢量,例如,使用可变lambda:
int main () {
std::vector<int> foo{1, 2, 3, 4};
std::vector<std::pair<int, int>> bar;
int i = 0;
std::transform(foo.begin(), foo.end(), std::back_inserter(bar), [i](int x) mutable {return std::make_pair(x, i++);});
}
范围构造函数将无法工作,因为您需要转换运算符,因此transform
算法是最佳选择。您可以将其包装在函数中,然后它与范围构造函数的行数相同。
以上是关于向量范围构造函数与另一个向量的更新数据的主要内容,如果未能解决你的问题,请参考以下文章