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

Утечка памяти или что? Валидность итератора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поиск по заштрихованной части матрицы http://www.cyberforum.ru/cpp-beginners/thread1162367.html
Такая вот задача: есть матрица 5х5 (заполняется случайным образом), в ней некоторые елементы заштрихованы. Найти минимальный элемент в заштрихованной части матрицы и заменить им все элементы из...
C++ Найти числа которые делятся на 6, делятся на 2, и на 3 Даны числа от 1 го до 20 ти. из них надо найти числа коорые делятся на 6, делятся на 2, и на 3. Как решить помогите контрольная работа у нас кто-нибудь пожалуйста! http://www.cyberforum.ru/cpp-beginners/thread1162311.html
C++ Понимание препроцессора в языке программирования
Здравствуйте, вот думаю над этими вопросами, а препод говорит обьяснить более подробно, чтобы даже ребенок понял(что за фанатизм?). Обьясните, пожалуйста, кто знает что к чему: 1) Все нужные вам...
C++ Как в данной программе сделать так чтобы все генерируемые числа стояли по возрастанию или по убыванию
как в данной программе сделать ток что бы все генерируемые числа стояли по возрастанию или по убыванию нужен свежий взгляд #include <iostream> using namespace std; ...
C++ Декодер кода Хемминга http://www.cyberforum.ru/cpp-beginners/thread1162259.html
Здравствуйте! Сразу к делу: программа рабочая декодирует и находит ошибки в коде, только раскодирует в двоичном представлении, а мне нужно (код Хемминга->{1,0}->ASCII) не особо силен в с++., поэтому...
C++ Печать alt-кодов в .txt файл Как напечатать символы alt-кодов в .txt файл через С++? подробнее

Показать сообщение отдельно
Ilot
Модератор
Эксперт С++
1811 / 1168 / 229
Регистрация: 16.05.2013
Сообщений: 3,082
Записей в блоге: 5
Завершенные тесты: 1
30.04.2014, 11:23
К слову если внимательно изучить сигнатуру ф-и erase, то можно обратить внимание, что она возвращает итератор на следующий за удаленным элементом элемент. И тогда код можно записать например вот так:
C++
1
2
3
4
5
6
while(it != str.end()) {
    if (*it >= 'h')
        it = str.erase(it);
    else 
        ++it;    
}
Да и вообще в коде много маленьких ляпов вроде использования постфиксных инкрементов, отсутствие резервирования памяти.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru