c++ - 如何在插入过程中更改插入的值?

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

我想将 vector b 中的值插入到 vector a 中,并在插入过程中将这些值乘以 -1。目前我只是简单地插入元素,然后将它们乘以 -1:

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

如何在不修改原始 b vector 的情况下在插入过程中获得负值?

我想实现的目标:

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

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

最佳答案

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

#include <algorithm>

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

关于c++ - 如何在插入过程中更改插入的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51613173/

相关文章:

c++ - VC++中如何获取空闲端口号列表?

C++11 直接列表初始化语法

c++ - WTSGetActiveConsoleSessionId 返回系统 session

c++ - 力扣#15 : 3sum -- avoiding duplicate

c++ - 如何将 std::vector<std::string> 作为 char** 传递?

c++ - 从 std::function 的 vector 中移除一个项目

c++ - 由第二个数组中的值限定的随机数数组

c++ - mq_receive 消息太长 - 没有发送消息

c++ - 使用模板的条件函数调用

c++ - 组成 std​​::integral_constant 值