◐ Shell
clean mode source ↗

std::insert_iterator<Container>::operator= - cppreference.com

来自cppreference.com

insert_iterator<Container>&
    operator=( typename Container::const_reference value );
(1) (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 起)
insert_iterator<Container>&
    operator=( typename Container::value_type&& value );
(2) (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;

参数

返回值

*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';
}

输出: