std::vector::emplace
来自cppreference.com
|
|
该页由英文版wiki使用Google Translate机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
| template< class... Args > iterator emplace( const_iterator pos, Args&&... args ); |
(C++11 起) | |
插入一个新的元素到容器之前,直接
pos。该元件是构成在就地,即没有复制或移动操作进行。元素的构造函数调用的参数std::forward<Args>(args)...。元素类型必须是EmplaceConstructible, MoveInsertable and MoveAssignable.原文:
Inserts a new element into the container directly before
pos. The element is constructed in-place, i.e. no copy or move operations are performed. The constructor of the element is called with the arguments std::forward<Args>(args).... The element type must be EmplaceConstructible, MoveInsertable and MoveAssignable.If the new size() is greater than capacity(), all iterators and references are invalidated. Otherwise, only the iterators and references after the added element are invalidated.
目录 |
[编辑] 参数
| pos | - | 迭代器之前,将兴建新的元素
原文: iterator before which the new element will be constructed |
| args | - | 元素的构造函数的参数转发
原文: arguments to forward to the constructor of the element |
[编辑] 返回值
布设元素的迭代器,指向.
原文:
Iterator pointing to the emplaced element.
[编辑] 复杂性
Linear in the distance between pos and end of the container.
[编辑] 例外
如果抛出一个异常(例如,通过构造函数),容器保持不变,如果这个功能是永远不会被调用(强异常保证).
原文:
If an exception is thrown (e.g. by the constructor), the container is left unmodified, as if this function was never called (strong exception guarantee).
[编辑] 另请参阅
| 插入元素 (公共成员函数) | |