2个矢量的和值

Sum values of 2 vectors

本文关键字:2个      更新时间:2023-10-16

C++库中是否有任何实现的方法允许您对两个向量(当然大小和类型相同)的值求和?
例如:

std::vector<int> a;//looks like this: 2,0,1,5,0
std::vector<int> b;//looks like this: 0,0,1,3,5

现在,把它们的值加在一起应该是这样的:

//2,0,2,8,5

我期待的答案要么是"没有",要么是"是"+方法。

您可以使用std::transformstd::plus<int>()

std::vector<int> a;//looks like this: 2,0,1,5,0
std::vector<int> b;//looks like this: 0,0,1,3,5
// std::plus adds together its two arguments:
std::transform (a.begin(), a.end(), b.begin(), a.begin(), std::plus<int>());
// a = 2,0,2,8,5

这种形式的std::transform有5个参数:

  • 两个first是第一个序列的初始和最终位置的输入迭代器
  • 第三个是第二个范围的初始位置的输入迭代器
  • 第四个是存储运算结果的范围的初始位置的输出迭代器
  • 最后一个参数是一个二进制函数,它接受两个元素作为参数(两个序列中的每一个),并返回一些可转换为OutputIterator所指类型的结果值