У меня есть функция void AddEntity(Entity* addtolist)
, которая выталкивает элементы обратно на vector
, но поскольку размер и емкость равны, когда элемент добавляется к vector
, вектор перераспределяется, и iterator
становится недействительным.
Затем, когда я пытаюсь увеличить итератор, у меня происходит сбой из-за недопустимого итератора, поскольку push_back(...)
не возвращает итератор в перераспределенную память, мне было интересно, как обойти эту проблему.
Должен ли я просто использовать insert(...)
, так как он возвращает iterator
, или я должен использовать указатель, который сохраняет ссылку на вектор после его перераспределения, а затем iterator
равен указателю, который указывает на перераспределенныйvector