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