std::insert_iterator<Container>::operator=

来自cppreference.com

 
 
迭代器库
迭代器概念
迭代器原语
算法概念与工具
间接可调用概念
常用算法要求
(C++20)
(C++20)
(C++20)
工具
(C++20)
迭代器适配器
范围访问
(C++11)(C++14)
(C++14)(C++14)  
(C++11)(C++14)
(C++14)(C++14)  
(C++17)(C++20)
(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 <deque>
#include <iostream>
#include <iterator>
 
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 << ' ';
    std::cout << '\n';
}

输出:

0 1 2 3 4 5 6 7 8 9