每个insert函数都接受一个迭代器作为其第一个参数,将元素插入到迭代器所指的位置之前。下面介绍insert函数的5种基本用法:
1.在容器的特定位置插入元素
将hello插入到world前
vector不支持push_back,但我们可以通过insert函数将元素插入到begin()之前,且注意插入到vector末尾之外任何位置都可能很慢。
将元素插入到vector、deque和string的任何位置都是合法的,然而,这样可能很耗时。
2.将指定数量的元素插入到指定位置之前
将10个hello插入到world之前
3. 将大括号里内容插入到指定位置之前
4.插入范围内元素(3个元素均为迭代器,第一个指出插入位置,其余两个给出插入范围)
将a数组的后两个元素插入到list容器的末尾前
接受元素个数或范围的insert版本在新标准下返回指向第一个新加入元素的迭代器(c++11标准),旧标准返回void。
5.使用insert的返回值在容器一个特定位置前反复插入元素
这个循环等价于调用push_back。下面我们来理解一下这个循环,第一次调用insert函数之后insert函数返回的迭代器指向我们读入的str这个新元素,我们将此迭代器赋予it并不断循环,只要不断有str读入,it就会不断更新并指向新元素,所以就可以不断在将新元素插入到list首元素之前的位置。
本篇文章为某大一新生在学习insert函数过程中的一些见解,如有不当之处,希望各位大佬可以多多指正。