Форум программистов, компьютерный форум CyberForum.ru

std::vector::erase - C++

Восстановить пароль Регистрация
 
vorob
 Аватар для vorob
6 / 6 / 3
Регистрация: 07.01.2012
Сообщений: 18
23.03.2013, 18:25     std::vector::erase #1
Всем привет.
Буду очень рад, если кто-нибудь может мне объяснить логику... см. скриншот....
Миниатюры
std::vector::erase  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2013, 18:25     std::vector::erase
Посмотрите здесь:

C++ vector.erase
C++ vector::erase()?
C++ std::vector
C++ vector<vector<double>> + std::sort()
Вывести значения std::vector<std::vector<int*> > C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
23.03.2013, 19:36     std::vector::erase #2
сдвиг
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
23.03.2013, 19:44     std::vector::erase #3
нужно больше трассировки добавить. на конструктор копирования, на оператор =, на варианты с && и т.п.
тогда увидите, что там происходит.
vorob
 Аватар для vorob
6 / 6 / 3
Регистрация: 07.01.2012
Сообщений: 18
23.03.2013, 19:45  [ТС]     std::vector::erase #4
Jupiter, Видимо я Вас неправильно понял, но...
Миниатюры
std::vector::erase  
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
23.03.2013, 19:54     std::vector::erase #5
Цитата Сообщение от vorob Посмотреть сообщение
Видимо я Вас неправильно понял, но...
erase сдвинул элементы назад на одну позицию начиная с элемента который следовал за удаляемым и затем удалил последний элемент.
Код
начальное состояние:         1 2 3 4 5 6 7 8 9 10
удаляем 2-ку, путем сдвига:  1 3 4 5 6 7 8 9 10 10
конечное состояние:          1 3 4 5 6 7 8 9 10
vorob
 Аватар для vorob
6 / 6 / 3
Регистрация: 07.01.2012
Сообщений: 18
23.03.2013, 20:07  [ТС]     std::vector::erase #6
Jupiter, Вот как... странно что перед этим не был вызван деструктор для двойки... печаль.
Спасибо.
Yandex
Объявления
23.03.2013, 20:07     std::vector::erase
Ответ Создать тему
Опции темы

Текущее время: 09:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru