Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Opracował: Elaine
Język C++

copy_backward

[funkcja] Kopiuje elementy od końca.

Składnia

C/C++
#include <algorithm>
namespace std
{
    template < typename BidIt1, typename BidIt2 >
    BidIt2 copy_backward( BidIt1 first, BidIt1 last, BidIt2 dest );
}

Opis szczegółowy

Kopiuje elementy z zakresu źródłowego do docelowego, którego końcem jest dest, iterując przez zakres źródłowy i przypisując je do elementów w zakresie docelowym, zaczynając od ostatniego elementu.

Funkcja rozpoczyna się kopiowaniem
*( last - 1 )
 do
*( result - 1 )
 i kontynuuje kopiowanie elementów poprzedzających je, dopóki nie osiągnięto first (które także jest kopiowane).

Zakres źródłowy musi być poprawny. Misjce docelowe musi być wystarczająco duże do przechowania wszystkich elementów zakresu źródłowego.

Jeżeli zakresy się pokrywają w taki sposób, że dest wskazuje na element w zakresie [first, last), zamiast copy_backward powinno się użyć » standard C++copy.

Argumenty

nazwa argumentu znaczenie
first iterator dwukierunkowy wskazujący na pierwszy element zakresu źródłowego
last iterator dwukierunkowy wskazujący na element będący za ostatnim elementem zakresu źródłowego
dest iterator dwukierunkowy wskazujący na element będący za ostatnim elementem zakresu docelowego

Wartość zwracana

Iterator dwukierunkowy wskazujący na pierwszy element zakresu docelowego.

Przykład

C/C++
#include <iostream>
#include <algorithm>
using namespace std;

int main()
{
    int a[ 8 ] = { 1, 2, 3, 4, 5, 6, 7, 8 };
    int b[ 8 ] = { 4, 8, 11, 42, 69, 74, 666, 1000002 };
   
    cout << "Tablica a przed kopiowaniem: \n";
    for( int i = 0; i < 8; i++ )
    {
        cout << a[ i ] << '\n';
    }
   
    copy_backward( b, b + 8, a + 8 );
   
    cout << "Tablica a po kopiowaniu: \n";
    for( int i = 0; i < 8; i++ )
    {
        cout << a[ i ] << '\n';
    }
}

Linki zewnętrzne