【发布时间】:2020-08-14 15:55:18
【问题描述】:
我有 n 个偶数大小的 std::vectors。让我们假设 n=3 和 size = 4:
std::vector<int> a {1,2,3,4};
std::vector<int> b {2,2,2,2};
std::vector<int> c {3,3,3,3};
std::vector<std::vector<int>> combinedVectors {a,b,c};
我想检索一个大小为 4 的向量,它的 ith 成员是所有向量的 ith 成员的总和。
在示例中
std::vector<int> x{6,7,8,9};
构建矢量x 的最佳通用方法是什么?请在您的回答中坚持 cpp17 标准。
最好的方式是我想坚持<algorithm> 而不是使用循环。
【问题讨论】:
-
一个添加元素并将它们插入到已经适当大小的向量中的循环?什么是“最好的”?
-
@idclev463035818 尽可能使用算法头而不是循环。
-
我认为没有任何标准算法可以对范围范围进行操作。要使用它们,您必须推出一些带有迭代器的类,以允许访问存储在类中的不同向量。很有可能,但可能不值得仅仅编写两个循环。
-
常见误解:“
<algorithm>而不是使用循环”。大多数算法只是一个循环。我想您的意思是“手写循环”,但是当没有开箱即用的算法可以满足您的要求时,手写循环通常是“更好”的替代方案
标签: c++ vector stl c++17 stdvector