gslice::gslice
Eine Hilfsklasse zum Wertarray, der verwendet wird, um mehrdimensionale Segmente eines Wertarrays zu definieren.
gslice( );
gslice(
size_t _StartIndex,
const valarray<size_t>& _LenArray,
const valarray<size_t>& _IncArray
);
Parameter
_StartIndex
Der Wertarrayindex des ersten Elements aus der Teilmenge._LenArray
Ein Array, das die Anzahl der Elemente in jedem Segment angibt._IncArray
Ein Array, bei dem Schritt in einem Segment angibt.
Rückgabewert
Der Standardkonstruktor speichert Nullen für den Startindex und Vektoren der Länge 0 (null) für die Längen- und Schrittvektoren. Der zweite Konstruktor speichert _StartIndex für den Startindex, _LenArray für das Längenarray und _IncArray für das Schrittarray.
Hinweise
gslice definiert eine Teilmenge eines Wertarrays, der aus mehreren Segmenten des Wertarrays dieser jeder Anfang an dem angegebenen Element besteht. Die Möglichkeit, Arrays zu verwenden, um mehreren Segmenten zu definieren ist der einzige Unterschied zwischen gslice und slice::slice. Der Anschnitt hat ein erstes Element mit einem Index von _StartIndex, einige Elemente, die durch das erste Element einer _LenArray angegeben werden, und einem Schritt, der durch das erste Element von _IncArray angegeben wird. Als Nächstes von orthogonale Segmente wurden die ersten Elemente, die von den Anschnitt angegeben werden. Das zweite Element von _LenArray gibt die Anzahl angezeigt. Der Schritt wird vom zweiten Element _IncArray erhält. Eine dritte Dimension von Segmenten würde die Elemente des zweidimensionalen Arrays die einleitenden Elementen nehmen und analog fortfahren
Beispiel
// 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;
}
Anforderungen
Header: <valarray>
Namespace: std