在线文档教程
C++
容器 | Containers

std::deque::emplace

STD::deque::emplace

template< class... Args > iterator emplace( const_iterator pos, Args&&... args (since C++11)

将新元素直接插入容器中。pos元素是通过std::allocator_traits::construct,它通常使用Plant-New来在容器提供的位置构造就地元素。争论args...被转发给构造函数的std::forward<Args>(args)......

所有迭代器,包括过去的结束迭代器,都是无效的.。引用也无效,除非pos == begin()pos == end()在这种情况下,它们不会失效。

参数

pos-iterator before which the new element will be constructed
args-arguments to forward to the constructor of the element

类型要求

-T%28容器%27s元素类型%29必须满足MoveAssignable、MoveInsertable和EmplaceConstrucable的要求。

返回值

指向放置元素的Iterator。

复杂性

在较小的距离内线性的pos容器的两端之一。

例外

如果抛出异常%28例如。通过构造函数%29,容器未被修改,就好像该函数从未被调用过%28强异常保证%29一样。

另见

insertinserts elements (public member function)

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/container/deque/emplace