Синтаксис:
#include <algorithm> bidirectional_iterator2 copy_backward( bidirectional_iterator start, bidirectional_iterator end, bidirectional_iterator2 dest );
Функция copy_backward() аналогична функции copy. Обе функции копируют элементы от start до end в расположение dest. Однако, функция copy_backward располагает элементы в dest в обратном направлении, как показано ниже:
*(dest-1) == *(end-1) *(dest-2) == *(end-2) *(dest-3) == *(end-3) ... *(dest-N) == *(end-N)
Следующий код использует copy_backward, чтобы скопировать 10 чисел в конец пустого вектора:
vector<int> from_vector; for( int i = 0; i < 10; i++ ) { from_vector.push_back( i ); } vector<int> to_vector(15); copy_backward( from_vector.begin(), from_vector.end(), to_vector.end() ); cout << "to_vector contains: "; for( unsigned int i = 0; i < to_vector.size(); i++ ) { cout << to_vector[i] << " "; } cout << endl;
Код выводит следующее:
to_vector contains: 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9