1、顺序容器
顺序容器包括vector、list、queue,其中vector与queue在内存中是连续存放的,而list是一种链表,节点在内存中并不是连续存放的。曾经很纳闷为什么list也属于顺序容器,在c++ primier中,有这样一句话,顺序容器的元素排列次序与元素值无关,而是由元素添加到容器里的次序决定的,因此从这个角度看,list也是一种顺序容器
1.1 insert操作
c.insert(p,t) 在迭代器p所指向的元素前面插入值为t的新元素。返回指向新添加元素的迭代器
为什么是在前面看,是因为迭代器可以指向超出末端的下一位置,如果是在该迭代器的后面插入元素,则出现未定义的行为,因此是在迭代器的前面插入元素。
1.2 erase操作
c.erase§删除迭代器p所指向的元素,返回一个迭代器,它指向被删除元素后面的元素。如果p指向容器内的最后一个元素,则返回迭代器指向容器的超出末端的下一个位置。如果p本身指向超出末端的下一个位置,则该函数为定义。
因此对于容器的循环删除操作可以写成下面这种(删除容器中所有值等于
for (it = myVector.