Проблемы с контейнерами C ++

У меня есть std :: list в программе на C ++, которая содержит объекты класса A. Допустим, у меня есть 10 объектов. У меня есть ссылка на 6-й объект, хранящийся в другой структуре данных, скажем, ref_6. Допустим, мне нужно удалить 8-й элемент из моего списка. Чтобы сделать это, я бы использовал pop_front 8 раз и сохранил 8 объектов в векторе, а push_front 7 раз использовал, чтобы вставить первые 7 элементов обратно в список, так что теперь мой результирующий список будет иметь 9 элементов. Теперь, когда я пытаюсь получить доступ к объекту, хранящемуся в ref_6, который был 6-м элементом, я не могу это сделать. В этой ссылке есть некоторая ценность мусора. Я предполагаю, что когда я делаю pop и push, местоположение в памяти одного и того же объекта меняется. Как мне с этим бороться?

1
задан cyrux 5 September 2010 в 07:42
поделиться