Udostępnij za pośrednictwem


operator|

Uzyskuje operatory OR między odpowiednie elementy dwie równe valarrays lub valarray i określona wartość typu elementu.

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
    Pierwsza z dwóch valarrays, w której odpowiednie elementy są z bitowym OR lub określona wartość typu elementu, należy łączyć bitowym dla każdego elementu valarray.

  • _Right
    Drugi dwóch valarrays, w której odpowiednie elementy są z bitowym OR lub określona wartość typu elementu, należy łączyć bitowym dla każdego elementu valarray.

Wartość zwracana

Valarray, której elementy są element-wise kombinacji operatory OR operacji z _Left i_Right.

Uwagi

Operacji na poziomie bitowym tylko można manipulować bitów w char i int typów danych i warianty i nie pływaka, podwójne, longpodwójne, void, bool lub inne, bardziej złożone typy danych.

Logiczną lub ma tej samej tabeli prawdy jako logicznej OR, ale stosuje się do typu danych na poziomie poszczególnych bitów.Podane bity b1 i b2, b1 ORb2 jest true , jeżeli jest spełniony przynajmniej jeden z bitów lub false Jeśli oba bity są fałszywe.Logicznej ORoperator|| stosuje się na poziomie elementu, liczenie wszystkich wartości niezerowych, jako true, a wynik jest valarray wartości logicznych.Logiczną lub operator|, natomiast mogą skutkować valarray wartości niż 0 lub 1, w zależności od wyniku operacji na poziomie bitowym.

Przykład

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

Wymagania

Nagłówek: <valarray>

Obszar nazw: std