std::back_inserter
Материал из cppreference.com
<tbody>
</tbody>
<tbody class="t-dcl-rev ">
</tbody><tbody>
</tbody>
| Определено в заголовочном файле <iterator>
|
||
template< class Container > std::back_insert_iterator<Container> back_inserter(Container& c); |
(до C++20) | |
template <class Container> constexpr std::back_insert_iterator<Container> back_inserter(Container& c); |
(начиная с C++20) | |
back_inserter — это шаблонная функция, созданная для удобства, которая конструирует std::back_insert_iterator для контейнера c с типом, определенным по типу аргумента.
Параметры
| c | — | контейнер, который поддерживает операцию push_back |
Возвращаемое значение
std::back_insert_iterator, который может быть использован для добавления элементов в конец контейнера c
Возможная реализация
template< class Container >
std::back_insert_iterator<Container> back_inserter( Container& c)
{
return std::back_insert_iterator<Container>(c);
}
|
Пример
Запустить этот код
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
int main()
{
std::vector<int> v = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
std::fill_n(std::back_inserter(v), 3, -1);
for(int n : v)
std::cout << n << ' ';
}
Вывод:
1 2 3 4 5 6 7 8 9 10 -1 -1 -1
См. также
| адаптер итератора для вставки в конец контейнера (шаблон класса) | |
| создаёт std::front_insert_iterator типа, выведенного из аргумента (шаблон функции) | |
| создаёт std::insert_iterator типа, выведенного из аргумента (шаблон функции) |