Sdílet prostřednictvím


operator^

Bitové exkluzivní získává OR (XOR) 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é XOR 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é XOR 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é XOR č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é, long double, voidbool nebo jiné, složitější typy dat. 

Bitové exkluzivní OR (XOR) má následující sémantiku: uvedené bity b1 a b2, b1 XORb2 true Pokud přesně bitů je true;  false Pokud jsou oba bity hodnotu false nebo pokud jsou splněny oba bity.

Příklad

// valarray_op_xor.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 XOR 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