Partager via


operator|

Obtient de bits OR entre les éléments correspondants de deux valarrays également classés ou entre un valarray et une valeur spécifiée du type d'élément.

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
   );

Paramètres

  • _Left
    Le premier des deux valarrays dont les éléments respectifs sont d'être associés aux opérateurs de bits OR ou une valeur spécifiée du type d'élément à associer au niveau de le bit à chaque élément d'un valarray.

  • _Right
    Le deuxième les deux valarrays dont les éléments respectifs sont d'être associés aux opérateurs de bits OR ou une valeur spécifiée du type d'élément à associer au niveau de le bit à chaque élément d'un valarray.

Valeur de retour

Un valarray dont les éléments sont la combinaison en ce qui concerne l'élément au niveau de le bit de l'exécution d' OR d' _Left et d' _Right.

Notes

Une opération de bits peut être utilisée pour manipuler des bits d' char et les types de données et les variantes d' int et non sur float, double, longdouble, void, bool ou autre, des types de données plus complexes.

Opération de bits OR a la même table de vérité qu' ORlogique, mais s'applique au type de données au niveau de les bits.Les bits donnés b1ou b2, b1ORb2est true si au moins l'un des bits est true ou false si les deux bits sont fictifs.ORlogiqueopérateur|| s'applique à un niveau d'élément, compter toutes les valeurs différentes de zéro comme true, et le résultat est un valarray des valeurs booléennes.Opération de bits OR operator|, en revanche, peut entraîner un valarray des valeurs autres que 0 ou 1, selon les résultats de l'opération de bits.

Exemple

// 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;
}
  
  
  

Configuration requise

en-tête : <valarray>

l'espace de noms : DST