首页 > 解决方案 > 如何在插入过程中更改插入的值?

问题描述

我想将值从 vector 插入b到 vector 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}

标签: c++c++11vectorstlc++14

解决方案


你可以std::transform这样使用:

#include <algorithm>

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

推荐阅读