Freigeben über


slice_array-Klasse

Eine interne, Hilfsklassenvorlage, die Objekte unterstützt slice , indem Vorgänge zwischen Teilmengearrays bereitgestellt werden, die durch das Segment eines Objekts valarraydefiniert werden.

Syntax

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 valarray<Type>zusammen mit einem Objekt der Klasse slicespeichert, das die Abfolge von Elementen beschreibt, die aus dem valarray<Type> Objekt ausgewählt werden sollen.

Die Klassenvorlage wird indirekt durch bestimmte valarray Vorgänge erstellt und kann nicht direkt im Programm verwendet werden. Eine interne Hilfsklassenvorlage, die vom slice Subscript-Operator verwendet wird:

slice_array<Type> valarray<Type>::operator[]( slice ).

Sie erstellen ein slice_array<Type> Objekt nur, indem Sie einen Ausdruck des Formulars va[sl]für ein Segment sl von Valarray vaschreiben. Die Memberfunktionen der Klasse slice_array verhalten sich dann wie die entsprechenden Funktionssignaturen, für die definiert valarray<Type>ist, außer dass nur die Abfolge der ausgewählten Elemente betroffen ist. Die vom slice_array Konstruktor gesteuerte Sequenz wird durch die drei Parameter des slice Konstruktors definiert, der Index des ersten Elements in der slice, die Anzahl der Elemente und der Abstand zwischen den Elementen. Ein slice_array Ausschnitt von valarray va deklarierten va[slice(2, 5, 3)] Elementen mit Indizes 2, 5, 8, 11 und 14 von va. Die Indizes müssen für die Prozedur gültig sein, um gültig zu sein.

Beispiel

Ein Beispiel für slice::slice das Deklarieren und Verwenden eines slice_arrayBeispiels finden Sie im Beispiel.

Anforderungen

Header:<valarray>

Namespace:std

Siehe auch

Threadsicherheit in der C++-Standardbibliothek