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