Freigeben über


move_backward

Verschiebt die Elemente eines Iterators in einen anderen. Die Verschiebung beginnt mit dem letzten Element in einem angegebenen Bereich und endet mit dem ersten Element in diesem Bereich.

template<class BidirectionalIterator1, class BidirectionalIterator2>
    BidirectionalIterator2 move_backward(
        BidirectionalIterator1 _First, 
        BidirectionalIterator1 _Last,
        BidirectionalIterator2 _DestEnd
    );

Parameter

  • _First
    Ein Iterator, der den Beginn eines Bereichs angibt, aus dem Elemente verschoben werden.

  • _Last
    Ein Iterator, der das Ende eines Bereichs angibt, aus dem Elemente verschoben werden. Dieses Element wird nicht verschoben.

  • _DestEnd
    Ein bidirektionaler Iterator, der die Position hinter dem letzten Element im Zielbereich adressiert.

Eigenschaftswert/Rückgabewert

Gibt einen Iterator zurück, der auf das erste Element verweist, das nicht verschoben wird.

Hinweise

Die Vorlagenfunktion wertet *(_DestEnd - N - 1) = move(*(_Last - N - 1))) einmal für jedes N-Element im [0, _Last-Bereich aus. - _First) bei strikt ansteigenden Werten von N, beginnend mit dem niedrigsten Wert. Dann wird _DestEnd - (_Last zurückgegeben. - _First). Wenn mit _DestEnd und _First Bereiche des Speichers bestimmt werden, darf _DestEnd nicht im Bereich [_First, _Last) liegen.

move und move_backward entsprechen funktional der Verwendung von copy und copy_backward mit einem Verschiebeiterator.

Anforderungen

Header: <algorithm>

Namespace: std

Siehe auch

Referenz

<algorithm>

copy_backward

Standardvorlagenbibliothek