|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.12.2010, 20:48 | #1 |
Форумчанин
Регистрация: 20.06.2008
Сообщений: 125
|
Можно ли удалить элемент, зная лишь итератор?
Можно написать list.erace(iterator);
Но ведь итератор является своего рода указателем на элемент. И информация о list тут избыточна. |
09.12.2010, 22:51 | #2 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Я бы так не сказал. list - это связный список, из чего следует, что каждый его элемент содержит указатель на следующий. Если мы просто освободим память по указателю, а элемент при этом будет находится посреди списка, то при последующем итерировании по списку мы получим AV да и вообще потеряем кусок списка за удалённым элементом. При удалении элемента из списка, необходимо изменить сам список(предыдущий элемент должен указывать на следующий за удаляемым, изменить размер списка и т.д.), так что эта информация никак не лишняя.
|
10.12.2010, 13:45 | #3 | ||
Форумчанин
Регистрация: 20.06.2008
Сообщений: 125
|
Цитата:
Код:
Цитата:
|
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
удалить элемент из массива | dron-k | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 17.09.2010 17:46 |
Можно ли, зная ID контрола, заполучить его хэндл? | TwiX | Общие вопросы Delphi | 10 | 04.08.2009 00:01 |
добавить/удалить элемент | Revenholm | Общие вопросы C/C++ | 3 | 13.06.2009 17:17 |
Удалить элемент массива | pavel42 | Помощь студентам | 14 | 21.05.2009 08:52 |
GPRS. Можно ли установить связь, не зная IP? | Suter | Работа с сетью в Delphi | 5 | 28.02.2009 06:46 |