У меня есть std::list структур. Некоторые структуры зависят от других, поэтому имеют одним из своих полей итератор из этого списка на другие элементы списка.
Гарантировано ли валидны эти итераторы при удалении-добавлении элементов списка?
Вроде, по сути, список от вектора тем и отличается, что там не в одном куске памяти все лежит и удаление-добавление не должно вызывать переаллокации. Но просто уточняю, чтоб быть уверенным.
Здравствуйте, Ax Kak Xopowo, Вы писали:
AKX>У меня есть std::list структур. Некоторые структуры зависят от других, поэтому имеют одним из своих полей итератор из этого списка на другие элементы списка.
AKX>Гарантировано ли валидны эти итераторы при удалении-добавлении элементов списка?
AKX>Вроде, по сути, список от вектора тем и отличается, что там не в одном куске памяти все лежит и удаление-добавление не должно вызывать переаллокации. Но просто уточняю, чтоб быть уверенным.
https://en.cppreference.com/w/cpp/container/list
+
внимательное чтение или поиск по ключевому слову "invalidate"
Здравствуйте, dead0k, Вы писали:
D>https://en.cppreference.com/w/cpp/container/list
D>+
D>внимательное чтение или поиск по ключевому слову "invalidate"
Ага, понятно. Ну собственно так и думал.