Namespaces
Variants

std::insert_iterator<Container>:: insert_iterator

From cppreference.net

Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(C++11) (C++14)
(C++14) (C++14)
(C++11) (C++14)
(C++14) (C++14)
(C++17) (C++20)
(C++17)
(C++17)
insert_iterator ( Container & c, typename Container :: iterator i ) ;
(C++20 前)
constexpr insert_iterator ( Container & c, ranges:: iterator_t < Container > i ) ;
(C++20 起)

将底层容器指针初始化为 std:: addressof ( c ) 并将底层迭代器初始化为 i

参数

c - 用于初始化插入器的容器
i - 用于初始化插入器的迭代器

缺陷报告

以下行为变更缺陷报告被追溯应用于先前发布的C++标准。

缺陷报告 适用范围 发布时行为 正确行为
LWG 561 C++98 i 的类型与 Container 无关 应为 Container 的迭代器类型
P2325R3 C++20 因 C++20 要求迭代器必须满足 default_initializable
而提供了默认构造函数
随该要求一同被移除