Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Klasa
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 vavalarray<Type> klasy xavalarray<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.
Example
// 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
Nagłówek:<valarray>
Przestrzeń nazw: std