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

Интересная особенность в работе вектора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти количество нулей в конце записи факториала числа http://www.cyberforum.ru/cpp-beginners/thread1576518.html
Найти количество нулей в конце записи факториала числа n. Подскажет, кто алгоритм? Или хотя бы в какую сторону копать? Если приведете пример кода, буду безмерно благодарен!
C++ Быстрый перебор восьмизначных чисел на С++ Доброго всем вечера, можете подсказать как с этим разобраться? Неободимо перебрать все числа от 1 до 12345678 и проверить что в каждом из них встречается по 1 разу каждая цифра http://www.cyberforum.ru/cpp-beginners/thread1576511.html
C++ Namespace и static-функция
1. Может ли определение static-функции быть вне-класса? Выдает ошибку, просит перенести в тело 2.Как в файле класса cpp, куда я скидываю определение функий, определить пространство имен или что то...
C++ Заполнить базу даных
Привет ребята, нужно заполнить базу данных информацыею про товар. Хочу через стринг. Мне получаеться нужно брать динамечиский масив и стринг?
C++ Разработать алгоритм определения координат опор линий С++ http://www.cyberforum.ru/cpp-beginners/thread1576470.html
задание! Разработать алгоритм определения координат опор линий!
C++ Dev C++ не компилирует Написал простейший "Hello World" в dev c++, нажимаю "Скомпилировать" (Ctrl+F9) вылетает окошко буквально на пару секунд, потом нажимаю "Отладка", пишет типа: "Проект не откомпилирован" что за ерунда?... подробнее

Показать сообщение отдельно
pproger
164 / 67 / 13
Регистрация: 22.03.2011
Сообщений: 196
10.11.2015, 01:44
Mesteriis, дальше, продолжая процесс обучения. как ты понимаешь, при каждом удалении (изменения размера вектора) может происходить перевыделение памяти. дабы оптимизировать этот момент используется т.н называемая erase-remove идиома. смысл в том, что сначала мы перемещаем все удаленные элементы в конец массива и получаем новый итератор на следующий_за_последним. потом одним вывозов erase удаляем эти элементы (и возможно в этот единственный момент память перераспределится). так то.

касательно твоего кода. я бы использовал стандартный алгоритм remove_if, проверяя в лямбде, что элемент нужно удалить. в этой же лямбде сохранял куда требуется удаленный элемент (или что ты там пытался изобразить). потом бы вызвал erase.

Добавлено через 2 минуты
Цитата Сообщение от Mesteriis Посмотреть сообщение
Я гляжу тебя прям прет от знаний
дык всегда приятно ткнуть ближнего в его же дерьмо. не знал?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru