如何通过STL算法得到两个数组(向量)的组合?
我有 v1
和 v2
,我应该如何获得如下所示的新 v
?
v1 = {1,2}
v2 = {3,4,5}
v = {f(1,3) , f(1,4) , f(1,5) f(2,3) ,f(2,4) ,f(2,5)}
我知道我可以使用两个循环来完成它,但是是否有更惯用的方法,例如使用 STL 算法?
//using two loops
for iter1 of v1
for iter2 of v2
v.push_back(f(v1,v2))
编辑:
v1
和 v2
不一定具有相同的大小。
I have v1
and v2
, how should I got a new v
like below?
v1 = {1,2}
v2 = {3,4,5}
v = {f(1,3) , f(1,4) , f(1,5) f(2,3) ,f(2,4) ,f(2,5)}
I know I could do it using two loops, But If there is more idiomatic way like using STL algorithm?
//using two loops
for iter1 of v1
for iter2 of v2
v.push_back(f(v1,v2))
EDIT:
v1
and v2
not necessary have same size.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
没有合适的 STL 算法,但可以通过自定义函数和 std::generate 来实现这种组合:
There is no appropriate STL algorithm, but this combination possible to do by a custom function and std::generate: