Freigeben über


operator<< (<valarray>)

Wechselt nach links die Bits für jedes Element eines Wertarrays ein angegebene Anzahl oder Positionen durch eine elementweise Menge angegeben durch einen zweiten Wertearray.

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

Parameter

  • _Left
    Der bewegt werden Wert oder der Wertarray, dessen Elemente verschoben werden sollen.

  • _Right
    Der Wert, der die Menge der Verschiebung nach links oder angeben Wertarray, dessen Elemente der elementweisen Betrag der Verschiebung nach links an.

Rückgabewert

Ein Wertearray, dessen Elemente durch die angegebene Menge verschobenes links wurden.

Hinweise

Zahlen mit Vorzeichen sind die beibehaltenen Zeichen.

Beispiel

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

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

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

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

   vaNE = ( vaL << vaR );
   cout << "The element-by-element result of "
        << "the left shift is the\n valarray: ( ";
      for ( i = 0 ; i < 8 ; i++ )
         cout << vaNE [ i ] << " ";
   cout << ")." << endl;
}
  

Anforderungen

Header: <valarray>

Namespace: std