![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Astoret |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 16.4.2009 Репутация: 1 Всего: 1 |
Никак немогу найти как ведет себя метод erase в vector
Он удаляет элемент массива и уменьшает сам массив на один или просто стирает с этого места данные? И не совсем понял как он работает, гугл дал что передать итератор указывающий на удаляемый элемент, а что за интератор я так и не понял, если не трудно скажите как реализовать удаление элемента:
|
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
http://www.cplusplus.com/reference/stl/vec...rase/\
перевод нужен? Добавлено через 2 минуты и 50 секунд он принимает итератор. Лучше использовать find, он вернет итератор на найденный элемент (или end() если не найдет). хотя вектор работает с random access iterator, так что Data.begin() + i тоже пойдет, но это некрасиво. |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 10 Всего: 33 |
А по ручкам, линеечкой! ![]() -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
||||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
наверно потому, что не было указано, что результативное значение итератора должно быть в диапозоне [begin(), end()] Это сообщение отредактировал(а) mes - 2.7.2009, 11:56 |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
||||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 10 Всего: 33 |
Не хорошо смешивать. -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
Astoret |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 16.4.2009 Репутация: 1 Всего: 1 |
Спасибо за ссылочку |
|||
|
||||
Cheloveck |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула Репутация: 5 Всего: 32 |
Стандарт гарантирует, что все элементы std::vector находятся последовательно друг за другом, тоесть точно так же, как и в массиве. Следовательно, метод erase, удаляя элемент, смещает все последующие на один элемент назад. Итераторы - это как указатели, тока навороченные))) Тут лучше доки читать.
-------------------- ![]() |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Astoret, правильно так:
|
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 10 Всего: 33 |
А для этого нужно стандарт читать? Название контейнера не о чем не говорит? Векторов, которые бы работали по другому, не встречал) -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
Cheloveck |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула Репутация: 5 Всего: 32 |
andrew_121, тем не менее он гарантирует))
-------------------- ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |