首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std::deque::insert

?

(1)

?

iterator insert( iterator pos, const T& value );

(until C++11)

iterator insert( const_iterator pos, const T& value );

(since C++11)

iterator insert( const_iterator pos, T&& value );

(2)

(since C++11)

?

(3)

?

void insert( iterator pos, size_type count, const T& value );

(until C++11)

iterator insert( const_iterator pos, size_type count, const T& value );

(since C++11)

?

(4)

?

template< class InputIt > void insert( iterator pos, InputIt first, InputIt last);

(until C++11)

template< class InputIt > iterator insert( const_iterator pos, InputIt first, InputIt last );

(since C++11)

iterator insert( const_iterator pos, std::initializer_list<T> ilist );

(5)

(since C++11)

在容器中指定的位置插入元素。

1-2%29次插入value以前pos

3%29次插入count的副本value以前pos

4%29插入范围内的元素[first, last)以前pos...

This overload has the same effect as overload (3) if InputIt is an integral type.

(until C++11)

This overload only participates in overload resolution if InputIt qualifies as InputIterator, to avoid ambiguity with the overload (3).

(since C++11)

如果firstlast迭代器是否进入*this...

5%29从初始化程序列表插入元素ilist以前pos...

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

参数

pos

-

iterator before which the content will be inserted. pos may be the end() iterator

value

-

element value to insert

first, last

-

the range of elements to insert, can't be iterators into container for which insert is called

ilist

-

initializer list to insert the values from

类型要求

-T必须满足CopyAssignable和CopyInsertable的要求,才能使用过载%281%29。

-T必须满足移动分配和移动不可更改的要求,才能使用过载%282%29。

-T必须满足CopyAssignable和CopyInsertable的要求,才能使用过载%283%29。

-T必须符合EmplaceConstrucable的要求,才能使用过载%284,5%29。

-T必须符合可互换、可移动分配、移动可建和可移动的要求,才能使用过载%284,5%29。%28自C++17%29

返回值

1-2%29字符指向插入的value

3%29 Iterator指向插入的第一个元素,或pos如果count==0...

4%29 Iterator指向插入的第一个元素,或pos如果first==last...

5%29 Iterator指向插入的第一个元素,或pos如果ilist是空的。

复杂性

1-2%29常数加线性在较小的距离之间pos容器的两端之一。

3%29线性count加上线性在较小的距离之间pos容器的两端之一。

4%29线性std::distance(first, last)加上线性在较小的距离之间pos容器的两端之一。

5%29线性ilist.size()加上线性在较小的距离之间pos容器的两端之一。

例外

如果在两端插入单个元素时引发异常,则此函数不具有%28强异常保证%29的效果。

另见

emplace (C++11)

constructs element in-place (public member function)

push_front

inserts an element to the beginning (public member function)

push_back

adds an element to the end (public member function)

代码语言:txt
复制
 ? cppreference.com

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

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com