std::back_insert_iterator

来自cppreference.com
< cpp‎ | iterator

定义于头文件 <iterator>
template< class Container >

class back_insert_iterator : public std::iterator< std::output_iterator_tag,

                                                   void,void,void,void >
std::back_insert_iteratorOutputIterator追加到一个容器,它被构造,使用容器的push_back()每当迭代器(不论是否解除引用或不)被分配到的成员函数。递增std::back_insert_iterator是一个no-op.
原文:
std::back_insert_iterator is an OutputIterator that appends to a container for which it was constructed, using the container's push_back() member function whenever the iterator (whether dereferenced or not) is assigned to. Incrementing the std::back_insert_iterator is a no-op.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

目录

[编辑] 会员类型

会员类型
原文:
Member type
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
Definition
container_type Container

[编辑] 成员函数

Template:cpp/iterator/inserter/dsc operator++
构造一个新的back_insert_iterator
原文:
constructs a new back_insert_iterator
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(公开成员函数) [编辑]
插入一个对象到相关联的容器
原文:
inserts an object into the associated container
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(公开成员函数) [编辑]
空操作
(公开成员函数) [编辑]

[编辑] 会员对象

会员名称
原文:
Member name
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
Definition
container (保护)
Container*类型的指针
原文:
a pointer of type Container*
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 成员类型

成员类型 定义
value_type void
difference_type void
pointer void
reference void
iterator_category std::output_iterator_tag

注意:在 C++17 前,这些成员类型要求通过从 std::iterator<std::output_iterator_tag,void,void,void,void> 继承而获得。

[编辑] 示例

#include <iostream>
#include <iterator>
#include <algorithm>
#include <cstdlib>
int main()
{
    std::vector<int> v;
    std::generate_n(std::back_insert_iterator<std::vector<int>>(v), // can be simplified
                    10, [](){return std::rand()%10;});        // with std::back_inserter
    for(int n : v)
        std::cout << n << ' ';
    std::cout << '\n';
}

输出:

3 6 7 5 3 5 6 2 9 1

[编辑] 另请参阅

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