假设我有两个std::vector<uint_32> a, b;已知大小相同的向量。
std::vector<uint_32> a, b;
是否存在C ++ 11范例,用于在和的bitwise-AND所有成员之间进行a和b,并将结果放入std::vector<uint_32> c;?
bitwise-AND
a
b
std::vector<uint_32> c;
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>());