Freigeben über


slice_array-Klasse

Eine interne, zusätzliche Vorlagenklasse, die Sliceobjekte unterstützt, indem Vorgänge zwischen Teilmengenarrays bereitstellt, definierte durch den Segment eines Wertarrays.

template<class Type>
   class slice_array : public slice {
public:
   typedef Type value_type;
   void operator=(
      const valarray<Type>& x
   ) const;
   void operator=(
      const Type& x
   ) const;
   void operator*=(
      const valarray<Type>& x
   ) const;
   void operator/=(
      const valarray<Type>& x
   ) const;
   void operator%=(
      const valarray<Type>& x
   ) const;
   void operator+=(
      const valarray<Type>& x
   ) const;
   void operator-=(
      const valarray<Type>& x
   ) const;
   void operator^=(
      const valarray<Type>& x
   ) const;
   void operator&=(
      const valarray<Type>& x
   ) const;
   void operator|=(
      const valarray<Type>& x
   ) const;
   void operator<<=(
      const valarray<Type>& x
   ) const;
   void operator>>=(
      const valarray<Type>& x
   ) const;
// The rest is private or implementation defined
}

Hinweise

Die Klasse beschreibt ein Objekt, das einen Verweis auf ein Objekt der Klasse Array von Werten<Typ>, zusammen mit einem Objekt der Klasse Segment speichert, die die Sequenz der Elemente beschrieben, die dem valarray <Type>-Objekt auszuwählen.

Die Vorlagenklasse wird indirekt durch bestimmte Wertarrayvorgänge erstellt und kann nicht direkt im Programm verwendet werden. Eine interne, zusätzliche Vorlagenklasse, die vom tiefgestellten Operator des Slices verwendet wird:

::<operator[] > (<slice)slice_arrayTypvalarrayTyp.

Sie erstellen ein slice_array <Type>-Objekt, indem Sie nur einen Ausdruck des Formulars VA [SL], für ein Segment sl des Wertarrays va schreiben. Die Memberfunktionen der Klasse slice_array dann verhalten sich wie die entsprechenden Funktionssignaturen, für die valarray <Type> definiert werden, dass nur die Reihenfolge der ausgewählten Elemente wird beeinflusst. Die Sequenz, die vom slice_array gesteuert wird, wird durch die drei Parameter des Slicekonstruktors, Index des ersten Elements im Segment, der Anzahl von Elementen und des Abstands zwischen Elementen definiert. Ein slice_array Ausschneiden vom Wertarray va deklariert durch va[slice(2, 5, 3)] wählt Elemente mit den Indizes 2, 5, 8, 11 und 14 von va. Die Indizes müssen gültig werden, dass die Prozedur gültig ist.

Beispiel

Im Beispiel für slice::slice als Beispiel, wie ein slice_array deklariert und verwendet.

Anforderungen

Header: <valarray>

Namespace: std

Siehe auch

Referenz

Threadsicherheit in der C++-Standardbibliothek