小编典典

如何在两个容器的元素之间执行成对的二进制运算?

algorithm

假设我有两个std::vector<uint_32> a, b;已知大小相同的向量。

是否存在C ++ 11范例,用于在和的bitwise-AND所有成员之间进行ab,并将结果放入std::vector<uint_32> c;


阅读 232

收藏
2020-07-28

共1个答案

小编典典

Lambda应该可以解决问题:

#include <algorithm>
#include <iterator>

std::transform(a.begin(), a.end(),     // first
               b.begin(),              // second
               std::back_inserter(c),  // output
               [](uint32_t n, uint32_t m) { return n & m; } );

更好的是,感谢@Pavel和完全C ++ 98:

#include <functional>

std::transform(a.begin(), a.end(), b.begin(),
               std::back_inserter(c), std::bit_and<uint32_t>());
2020-07-28