std::back_inserter_iterator

 

翻译:https://en.cppreference.com/w/cpp/iterator/back_inserter

 

定义在头文件 <iterator>

函数声明如下:

template< class Container >
std::back_insert_iterator<Container> back_inserter( Container& c );

template< class Container >
constexpr std::back_insert_iterator<Container> back_inserter( Container& c );

back_inserter 是一个非常方面的函数模板,它为容器 c 构造了一个 std::back_inserter_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
posted @ 2022-06-06 14:18  王清河  阅读(58)  评论(0编辑  收藏  举报