std::insert_iterator<Container>::operator=
来自cppreference.com
< cpp | iterator | insert
iterator
迭代器库
| 迭代器概念 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 迭代器原语 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 算法概念与工具 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 间接可调用概念 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 常用算法要求 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 工具 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 迭代器适配器 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 流迭代器 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 迭代器定制点 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
(C++20)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
(C++20)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 迭代器操作 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 范围访问 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::insert_iterator
| 成员函数 | ||||
|
insert_iterator::operator=
|
||||
| (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