Sdílet prostřednictvím


operator|

Získá bitové OR mezi odpovídající prvky dva stejně velké valarrays nebo valarray a zadaná hodnota typu prvku.

template<class Type>
   valarray<Type> operator|(
      const valarray<Type>& _Left,
      const valarray<Type>& _Right
   );
template<class Type>
   valarray<Type> operator|(
      const valarray<Type>& _Left,
      const Type& _Right
   );
template<class Type>
   valarray<Type> operator|(
      const Type& _Left,
      const valarray<Type>& _Right
   );

Parametry

  • _Left
    První dva valarrays, jehož odpovídajících prvků se kombinovat se bitové OR nebo zadaná hodnota typu prvku, které mají být zkombinovány bitové ke každému elementu valarray.

  • _Right
    Druhý ze dvou valarrays, jehož odpovídajících prvků se kombinovat se bitové OR nebo zadaná hodnota typu prvku, které mají být zkombinovány bitové ke každému elementu valarray.

Vrácená hodnota

Valarray, jejíž prvky jsou element-wise kombinací bitové OR činnosti _Left a_Right.

Poznámky

Bitové operace lze použít pouze k manipulaci s bity v char a int datové typy a varianty a ne na float, dvojité, dlouhýdvojité, void, bool nebo jiné, složitější typy dat. 

Bitový operátor OR má stejné tabulky pravdy jako logický OR, ale platí pro typ dat na úrovni jednotlivých bitů.Uvedené bity b1 a b2 b1 ORb2 true Pokud je splněna alespoň jedna z bitů nebo false Pokud jsou oba bity hodnotu false. Logický ORoperator|| se vztahuje na úroveň elementu počítání všechny nenulové hodnoty jako true, a výsledkem je valarray logických hodnot. Bitový operátor OR operator|, naopak může způsobit valarray hodnot než 0 či 1, v závislosti na výsledku logické bitové operace.

Příklad

// valarray_op_bitor.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>

int main( )
{
   using namespace std;
   int i;

   valarray<int> vaL ( 10 ), vaR ( 10 );
   valarray<int> vaLAA ( 10 );
   for ( i = 0 ; i < 10 ; i += 2 )
      vaL [ i ] =  1;
   for ( i = 1 ; i < 10 ; i += 2 )
      vaL [ i ] =  0;
   for ( i = 0 ; i < 10 ; i += 3 )
      vaR [ i ] =  i;
   for ( i = 1 ; i < 10 ; i += 3 )
      vaR [ i ] =  i-1;
   for ( i = 2 ; i < 10 ; i += 3 )
      vaR [ i ] =  i-1;
   
   cout << "The initial Left valarray is:  ( ";
      for (i = 0 ; i < 10 ; i++ )
         cout << vaL [ i ] << " ";
   cout << ")." << endl;

   cout << "The initial Right valarray is: ( ";
      for (i = 0 ; i < 10 ; i++ )
         cout << vaR [ i ] << " ";
   cout << ")." << endl;

   vaLAA = ( vaL | vaR );
   cout << "The element-by-element result of "
        << "the bitwise OR operator| is the\n valarray: ( ";
      for (i = 0 ; i < 10 ; i++ )
         cout << vaLAA [ i ] << " ";
   cout << ")." << endl;
}
  

Požadavky

Záhlaví:<valarray>

Obor názvů: std