【发布时间】:2015-12-22 04:47:25
【问题描述】:
我需要对向量和迭代器进行一些说明。我有一个my_object 的向量,以及该向量的迭代器。我在迭代器位置执行插入,并在同一位置执行第二次插入:
myiteratornew = (my_vector).insert(myiterator, my_object1);
myiteratornew = (my_vector).insert(myiterator, my_object2);
在几种“输入”数据上多次使用此功能后,今天出现内存错误。当然我认为问题是由于在 modified(重新分配)向量上使用了 old 迭代器造成的;以这种方式修改代码现在可以工作了:
myiteratornew = (my_vector).insert(myiterator, my_object1);
myiteratornew = (my_vector).insert(myiteratornew , my_object2);
我的问题是,我怎么可能多次使用我的代码而没有出现内存错误?第二个代码是否应该防止我的代码导致内存错误?
【问题讨论】: