std::insert_iterator<Container>::operator=

 
 
迭代器库
迭代器概念
迭代器原语
算法概念与工具
间接可调用概念
常用算法要求
工具
迭代器适配器
流迭代器
迭代器定制点
迭代器操作
(C++11)
(C++11)
范围访问
(C++11)(C++14)
(C++11)(C++14)
(C++17)(C++20)
(C++14)(C++14)
(C++14)(C++14)
(C++17)
(C++17)
 
 
(1)
insert_iterator<Container>&
    operator=( typename Container::const_reference value );
(C++11 前)
insert_iterator<Container>&
    operator=( const typename Container::value_type& value );
(C++11 起)
(C++20 前)
constexpr insert_iterator<Container>&
    operator=( const typename Container::value_type& value );
(C++20 起)
(2)
insert_iterator<Container>&
    operator=( typename Container::value_type&& value );
(C++11 起)
(C++20 前)
constexpr insert_iterator<Container>&
    operator=( typename Container::value_type&& value );
(C++20 起)

插入给定的 value 到迭代器。

1) 导致 iter = container->insert(iter, value); ++iter;
2) 导致 iter = container->insert(iter, std::move(value)); ++iter;

参数

value - 要插入的值

返回值

*this

注意

此函数开创了关联容器的有提示插入(例如 std::set::insert )和顺序容器的定位插入(例如 std::vector::insert )间的签名兼容性。

示例

#include <iostream>
#include <iterator>
#include <deque>
 
int main()
{
    std::deque<int> q;
    std::insert_iterator< std::deque<int> > it(q, q.begin());
 
    for (int i=0; i<10; ++i)
        it = i; // 插入 i
 
    for (auto& elem : q) std::cout << elem << ' ';
}

输出:

0 1 2 3 4 5 6 7 8 9