std::deque<T,Allocator>::insert
来自cppreference.com
| (1) | ||
| (2) | (C++11 起) | |
| (3) | ||
| (4) | ||
| (5) | (C++11 起) | |
插入元素到容器中的指定位置。
1) 在
pos 前插入 value 的副本。2) 在
pos 前插入 value,可能使用移动语义。3) 在
pos 前插入 value 的 count 个副本。4) 在
pos 前插入来自范围 [first, last) 的元素。
|
如果 |
(C++11 前) |
|
此重载只有在 |
(C++11 起) |
如果
first 和 last 是指向 *this 中的迭代器,那么行为未定义。5) 在
pos 前插入来自初始化器列表 ilist 的元素。所有迭代器(包括 end() 迭代器)都会失效。引用也会失效,除非 pos == begin() 或 pos == end(),此时它们不会失效。
参数
| pos | - | 将内容插入到它前面的迭代器。pos 可以是 end() 迭代器
|
| value | - | 要插入的元素值 |
| count | - | 要插入的元素数量 |
| first, last | - | 要插入的(不能是指向调用 insert 所用的容器中的迭代器)元素范围的迭代器对 |
| ilist | - | 要插入的值来源的 std::initializer_list |
| 类型要求 | ||
- 为使用重载 (1), T 必须满足可复制赋值 (CopyAssignable) 和可复制插入 (CopyInsertable) 。
| ||
- 为使用重载 (2), T 必须满足可移动赋值 (MoveAssignable) 和可移动插入 (MoveInsertable) 。
| ||
- 为使用重载 (3), T 必须满足可复制赋值 (CopyAssignable) 和可复制插入 (CopyInsertable) 。
| ||
- 为使用重载 (4,5), T 必须满足可就位构造 (EmplaceConstructible) 。
| ||
- 为使用重载 (4,5), T 必须满足可交换 (Swappable) 、可移动赋值 (MoveAssignable) 、可移动构造 (MoveConstructible) 和可移动插入 (MoveInsertable) 。(C++17 起)
| ||
返回值
1,2) 指向被插入
value 的迭代器。3) 指向首个被插入元素的迭代器,或者在
count == 0 时返回