Udostępnij za pośrednictwem


Klasa indirect_array

Wewnętrzny szablon klasy pomocniczej, który obsługuje obiekty, które są podzbiorami valarray obiektów, zapewniając operacje między tablicami podzestawu zdefiniowanymi przez określenie podzestawu indeksów nadrzędnego valarray.

Składnia

Uwagi

Klasa opisuje obiekt, który przechowuje odwołanie do obiektu klasy , wraz z obiektem va xa klasy valarray<Type>valarray<size_t>, który opisuje sekwencję elementów do wybrania z valarray<Type> obiektu.

Obiekt można indirect_array<Type> skonstruować tylko przez napisanie wyrażenia formularza va[xa]. Funkcje składowe klasy indirect_array zachowują się wtedy jak odpowiednie sygnatury funkcji zdefiniowane dla valarray<Type>elementu , z tą różnicą, że dotyczy to tylko sekwencji wybranych elementów.

Sekwencja składa się z xa.size elementów, gdzie element I staje się indeksem xa[I] w obiekcie va.

Przykład:

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

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

   valarray<int> va ( 10 );
   for ( i = 0 ; i < 10 ; i += 2 )
      va [ i ] =  i;
   for ( i = 1 ; i < 10 ; i += 2 )
      va [ i ] =  -1;

   cout << "The initial operand valarray is:  ( ";
      for ( i = 0 ; i < 10 ; i++ )
         cout << va [ i ] << " ";
   cout << ")." << endl;

   // Select 2nd, 4th & 6th elements
   // and assign a value of 10 to them
   valarray<size_t> indx ( 3 );
   indx [0] = 2;
   indx [1] = 4;
   indx [2] = 6;
   va[indx] = 10;

   cout << "The modified operand valarray is:  ( ";
      for (i = 0 ; i < 10 ; i++ )
         cout << va [ i ] << " ";
   cout << ")." << endl;
}

Wyjście

The initial operand valarray is:  (0 -1 2 -1 4 -1 6 -1 8 -1).
The modified operand valarray is:  (0 -1 10 -1 10 -1 10 -1 8 -1).

Wymagania

Header:<valarray>

Przestrzeń nazw: std

Zobacz też

Bezpieczeństwo wątków w standardowej bibliotece języka C++