Namespaces
Variants

std::valarray<T>:: cshift

From cppreference.net
valarray < T > cshift ( int count ) const ;

Gibt ein neues valarray derselben Größe zurück, dessen Elemente zyklisch um count Elemente verschoben sind.

Ein nicht-negativer Wert von count verschiebt die Elemente zyklisch um count Positionen nach links und ein negativer Wert von count verschiebt die Elemente zyklisch um - count Positionen nach rechts.

Inhaltsverzeichnis

Parameter

count - Anzahl der Positionen, um die die Elemente verschoben werden sollen

Rückgabewert

Das resultierende valarray mit zirkular verschobenen Elementen.

Hinweise

Die Funktion kann mit einem Rückgabetyp implementiert werden, der sich von std::valarray unterscheidet. In diesem Fall hat der Ersatztyp die folgenden Eigenschaften:

Beispiel

#include <iostream>
#include <valarray>
int main()
{
    std::valarray<int> v{1, 2, 3, 4, 5, 6, 7, 8};
    for (auto const& val : v)
        std::cout << val << ' ';
    std::cout << '\n';
    std::valarray<int> v2 = v.cshift(2);
    for (auto const& val : v2)
        std::cout << val << ' ';
    std::cout << '\n';
}

Ausgabe:

1 2 3 4 5 6 7 8 
3 4 5 6 7 8 1 2

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 618 C++98 der Ausdruck der verschobenen Elemente
enthält Division-durch-Null wenn size() ist 0
beschreibt die neuen Positionen
ohne Ausdrücke zu verwenden

Siehe auch

Verschiebt die Elemente des valarray mit Nullauffüllung
(öffentliche Elementfunktion)