首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std::back_insert_iterator

Defined in header <iterator>

template< class Container > class back_insert_iterator : public std::iterator< std::output_iterator_tag, void, void, void, void >

(until C++17)

template< class Container > class back_insert_iterator;

(since C++17)

std::back_insert_iteratorOutputIterator它附加到一个容器上,而容器是为其建造的。容器%27spush_back()每当迭代器%28被分配给取消引用或未分配%29时,都会调用成员函数。递增std::back_insert_iterator是个禁止行动。

成员类型

Member type

Definition

container_type

Container

成员函数

(constructor)

constructs a new back_insert_iterator (public member function)

operator=

inserts an object into the associated container (public member function)

operator*

no-op (public member function)

operator++operator++(int)

no-op (public member function)

成员对象

Member name

Definition

container (protected)

a pointer of type Container*

成员类型

Member type

Definition

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>...

二次

代码语言:javascript
复制
#include <iostream>
#include <iterator>
#include <algorithm>
#include <cstdlib>
#include <vector>
 
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';
}

二次

产出:

二次

代码语言:javascript
复制
3 6 7 5 3 5 6 2 9 1

二次

另见

back_inserter

creates a std::back_insert_iterator of type inferred from the argument (function template)

front_insert_iterator

iterator adaptor for insertion at the front of a container (class template)

insert_iterator

iterator adaptor for insertion into a container (class template)

代码语言:txt
复制
 © cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

扫码关注腾讯云开发者

领取腾讯云代金券