std::inserter

来自cppreference.com
< cpp‎ | iterator

定义于头文件 <iterator>
template< class Container >
std::insert_iterator<Container> inserter( Container& c, typename Container::iterator i );
inserter是一个方便的函数模板,构建了一个std::insert_iterator的容器c,其迭代器i的参数的类型推断的类型.
原文:
inserter is a convenience function template that constructs a std::insert_iterator for the container c and its iterator i with the type deduced from the type of the argument.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

目录

[编辑] 参数

c -
容器支持insert操作
原文:
container that supports a insert operation
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
i -
迭代器c指示的插入位置
原文:
iterator in c indicating the insertion position
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 返回值

std::insert_iteratorc可用于元素插入到容器i的位置,.
原文:
A std::insert_iterator which can be used to insert elements into the container c at the position indicated by i.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 可能的实现

template< class Container >
std::insert_iterator<Container> inserter( Container& c, typename Container::iterator i )
{
    return std::insert_iterator<Container>(c, i );
}

[编辑] 示例

#include <iostream>
#include <list>
#include <algorithm>
#include <iterator>
 
int main()
{
    std::list<int> l{1,2,3,4,5,6,7,8,9,10};
    std::fill_n(std::inserter(l, std::next(l.begin())), 3, -1);
    for (int n : l) {
        std::cout << n << ' ';
    }
}

输出:

1 -1 -1 -1 2 3 4 5 6 7 8 9 10

[编辑] 另请参阅

用于插入容器的迭代器适配器
(类模板) [编辑]
创建拥有从参数推出的类型的 std::back_insert_iterator
(函数模板) [编辑]
创建拥有从参数推出的类型的 std::front_insert_iterator
(函数模板) [编辑]