Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Um modelo de classe auxiliar interno que suporta objetos que são subconjuntos de objetos fornecendo operações entre matrizes de valarray subconjuntos definidas especificando um subconjunto de índices de um pai valarray.
Sintaxe
Observações
A classe descreve um objeto que armazena uma referência a um objeto va de classe valarray<Type>, juntamente com um objeto xa de classe valarray<size_t>, que descreve a sequência de elementos a serem selecionados a valarray<Type> partir do objeto.
Você constrói um indirect_array<Type> objeto somente escrevendo uma expressão do formulário va[xa]. As funções de membro da classe indirect_array então se comportam como as assinaturas de função correspondentes definidas para valarray<Type>, exceto que apenas a sequência de elementos selecionados é afetada.
A sequência consiste em elementos, onde o elemento I se torna o índice xa[I] dentro vade xa.size .
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;
}
Resultado
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).
Requerimentos
Cabeçalho:<Valarray>
Espaço de nomes:std