插入迭代器:inserter函数
插入迭代器总共有三种,能实现在给定的容器中给定的位置插入元素,而不覆盖之前的元素。但是只改变了元素的size,而不改变容器的capacity。
- back_inserter:尾部插入迭代器,back_inserter函数返回值是指向给定容器尾部的迭代器。再进行插入操作时调用了push_back函数,在尾部迭代器之前进行插入操作,不会改变插入元素的顺序。
- front_inserter:首部插入迭代器,front_inserter函数返回值是指向给定容器首部的迭代器。调用了push_front函数,在容器的首元素之前进行插入操作,每一个插入之后,新插入的元素变成首元素,最终插入的元素顺序会颠倒。
- inserter:调用了inserter函数,之前的两种迭代器默认了插入的位置,只需要输入一个参数(容器),但是inserter迭代器需要输入两个参数,一个是容器,一个是指向给定容器的迭代器,最终新元素会插入到给定迭代器之前。
调用inserter(c,iter)时,会得到一个指向给定容器中原来元素的迭代器。再次调用时,会将新的元素插入到原来指向的元素之前,之前插入的元素之后。 具体的函数操作过程如下:
it = c.inserter(it, val)