C++ 中向量的逐元素“OR”运算

普罗采尔

我试图在 C++ 中的向量上使用或 (|) 运算符。经过数小时的研究,我找不到任何直接作用于向量的函数,因此我目前正在编写如下内容:

int len = 10; 
std::vector<bool> v1(len);
std::vector<bool> v2(len);
std::vector<bool> vout(len);

//Some code to determine the content of v1 and v2

for(int i = 0; i < len ; i++)
{
   vout[i] = v1[i] | v2[i];
}

但是,我认为这会减慢我的代码速度,因此我想知道是否有任何方法可以在两个向量上使用 or 运算符?

布鲁尔

尝试使用std::transformhttp : //www.cplusplus.com/reference/algorithm/transform/

// transform algorithm example
#include <iostream>     // std::cout
#include <algorithm>    // std::transform
#include <vector>       // std::vector
#include <functional>   // std::plus

int op_increase (int i) { return ++i; }

int main () {
  std::vector<int> foo;
  std::vector<int> bar;

  // set some values:
  for (int i=1; i<6; i++)
    foo.push_back (i*10);                         // foo: 10 20 30 40 50

  bar.resize(foo.size());                         // allocate space

  std::transform (foo.begin(), foo.end(), bar.begin(), op_increase);
                                                  // bar: 11 21 31 41 51

  // std::plus adds together its two arguments:
  std::transform (foo.begin(), foo.end(), bar.begin(), foo.begin(), std::plus<int>());
                                                  // foo: 21 41 61 81 101

  std::cout << "foo contains:";
  for (std::vector<int>::iterator it=foo.begin(); it!=foo.end(); ++it)
    std::cout << ' ' << *it;
  std::cout << '\n';

  return 0;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

向量中的C ++乘法元素

来自分类Dev

C ++删除向量中的元素

来自分类Dev

向量c ++中的sort元素

来自分类Dev

python中矩阵的逐元素运算

来自分类Dev

从向量C ++中的元素中减去值

来自分类Dev

从列表向量中删除元素C ++

来自分类Dev

在C ++中删除并推回向量的元素

来自分类Dev

在C ++向量中访问超出尺寸的元素

来自分类Dev

指针向量中的C ++擦除元素

来自分类Dev

向量中某些元素的C ++迭代器

来自分类Dev

从向量C ++中删除多个元素

来自分类Dev

C ++:访问向量列表中的某些元素

来自分类Dev

C ++在向量中查找特定元素

来自分类Dev

在向量C ++中查找多个max元素

来自分类Dev

在向量对中查找元素并输出C ++

来自分类Dev

指针向量中的C ++擦除元素

来自分类Dev

从列表向量中删除元素C ++

来自分类Dev

C ++按值从向量中删除元素

来自分类Dev

C ++:访问向量列表中的某些元素

来自分类Dev

C ++:如何在向量向量中打印所有元素

来自分类Dev

C ++:如何在向量向量中打印所有元素

来自分类Dev

C ++中的Clang向量扩展和相等运算符

来自分类Dev

TensorFlow中矩阵和向量的高效逐元素乘法

来自分类Dev

Julia中的逐元素复合赋值运算符

来自分类Dev

逐元素计算向量的幂

来自分类Dev

逐元素计算向量的幂

来自分类Dev

如何在C ++中从向量中删除不连续的元素

来自分类Dev

如何访问C ++中的某些元素(向量中)

来自分类Dev

C ++将向量的向量元素推入向量