Condividi tramite


gslice::gslice

Una classe di utilità a valarray utilizzato per definire le sezioni multidimensionali di un valarray.

gslice( );
gslice(
   size_t _StartIndex,
   const valarray<size_t>& _LenArray,
   const valarray<size_t>& _IncArray
);

Parametri

  • _StartIndex
    L'indice valarray del primo elemento nel sottoinsieme.

  • _LenArray
    Una matrice che specifica il numero di elementi in ogni sezione.

  • _IncArray
    Una matrice che specifica la strada in ogni sezione.

Valore restituito

Il costruttore predefinito contiene zero per l'indice iniziale e i vettori di lunghezza zero per i vettori di strada e di lunghezza.Il secondo costruttore archivia _StartIndex per l'indice iniziale, _LenArray per la matrice di lunghezza e _IncArray per la matrice di strada.

Note

gslice definisce un sottoinsieme di un valarray costituita da più sezioni di valarray che ogni inizio allo stesso elemento specificato.La possibilità di utilizzare le matrici per definire più tessere è l'unica differenza tra gslice e slice::slice.La prima sezione contiene un primo elemento con un indice _StartIndex, una serie di elementi specificati dal primo elemento _LenArraye la strada fornita dal primo elemento _IncArray.Dopo aver impostato le sezioni ortogonali ha primi elementi forniti dalla prima sezione.Il secondo elemento _LenArray specifica il numero di elementi.La strada è fornita dal secondo elemento _IncArray.Una terza dimensione delle sezioni prenderebbe gli elementi della matrice bidimensionale come elementi iniziale e continuerebbe analogamente

Esempio

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

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

   valarray<int> va ( 20 ), vaResult;
   for ( i = 0 ; i < 20 ; i+=1 ) 
      va [ i ] =  i;

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

   valarray<size_t> Len ( 2 ), Stride ( 2 );
   Len [0] = 4;
   Len [1] = 4;
   Stride [0] = 7;
   Stride [1] = 4;

   gslice vaGSlice ( 0, Len, Stride );
   vaResult = va [ vaGSlice ];

   cout << "The valarray for vaGSlice is vaResult:" << endl
        << "va[vaGSlice] = (";
   
   for ( i = 0 ; i < 8 ; i++ )
      cout << " " << vaResult [ i ];
   cout << ")" << endl;
}
  

Requisiti

intestazione: <valarray>

Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

gslice Class