在插入过程中如何更改插入值?

时间:2018-07-31 12:15:19

标签: c++ c++11 vector stl c++14

我想将值从向量b插入向量a,并在插入过程中将值乘以-1。目前,我只需插入元素,然后再将它们乘以-1:

a.insert(std::end(a), std::begin(b), std::end(b));
// ...

在不修改原始b向量的情况下,如何在插入过程中已经获得负值?

我想要实现的目标:

old a = {2,3,4}
b = {3,4,5}

a = {2,3,4,-3,-4,-5}

1 个答案:

答案 0 :(得分:29)

您可以像这样使用std::transform

#include <algorithm>

std::transform(std::cbegin(b), std::cend(b), std::back_inserter(a), std::negate<>());