Пространства имён
Варианты
Действия

std::copy_backward

Материал из cppreference.com
< cpp‎ | algorithm
 
 
Библиотека алгоритмов
Ограниченные алгоритмы и алгоритмы над диапазонами(C++20)
Ограниченные алгоритмы, например ranges::copy, ranges::sort, ...
Политики исполнения (C++17)
Немодифицирующие операции над последовательностями
(C++11)(C++11)(C++11)
(C++17)
Модифицирующие операции над последовательностями
(C++11)
copy_backward
(C++11)
(C++20)(C++20)
Операции разбиения
Операции сортировки
Операции двоичного поиска
Операции с наборами (в отсортированных диапазонах)
Операции с кучей
(C++11)
Операций минимума/максимума
(C++11)
(C++17)

Операции перестановки
Числовые операции
Операции с неинициализированной памятью
(C++17)
(C++17)
(C++17)
Библиотека C
 
Определено в заголовочном файле <algorithm>
template<class BidirectionalIterator1, class BidirectionalIterator2 >

BidirectionalIterator2 copy_backward( BidirectionalIterator1 first,
                                      BidirectionalIterator1 last,

                                      BidirectionalIterator2 d_last );

Копирует элементы из промежутка [firstlast) в промежуток, кончающийся в d_last. Элементы копируются в обратном порядке (последний элемент копируется первым), но их относительный порядок сохраняется.

Содержание

[править]Параметры

[firstlast) два итератора задающих диапазон элементов для копирования
d_last конец целевого промежутка. Если d_last находится внутри [first, last), то вместо std::copy_backward нужно использовать std::copy.

[править]Возвращаемое значение

итератор на последний скопированный элемент.

[править]Сложность

Ровно last - first присваиваний.

[править]Возможная реализация

[править]Пример

#include <algorithm>#include <iostream>   int main(){std::vector<int> from_vector;for(int i =0; i <10; i++){ from_vector.push_back(i);}   std::vector<int> to_vector(15);   std::copy_backward(from_vector.begin(), from_vector.end(), to_vector.end());   std::cout<<"to_vector contains: ";for(unsignedint i =0; i < to_vector.size(); i++){std::cout<< to_vector[i]<<" ";}}

Вывод:

to_vector contains: 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9

[править]См. также

копирует диапазон элементов в новое место
(шаблон функции)[править]
close