Форум программистов, компьютерный форум 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) Все нужные вам константы, определенные Вами с помощью директив препроцессора #define, хранятся в файле konst.h. Какая строка обязательна в Вашей С-программе, чтобы эти константы стали ей доступны? Является ли эта...
C++ Как в данной программе сделать так чтобы все генерируемые числа стояли по возрастанию или по убыванию
как в данной программе сделать ток что бы все генерируемые числа стояли по возрастанию или по убыванию нужен свежий взгляд #include <iostream> using namespace std; //-------------------------------------------------//
C++ Декодер кода Хемминга http://www.cyberforum.ru/cpp-beginners/thread1162259.html
Здравствуйте! Сразу к делу: программа рабочая декодирует и находит ошибки в коде, только раскодирует в двоичном представлении, а мне нужно (код Хемминга->{1,0}->ASCII) не особо силен в с++., поэтому помогите сделать вывод из символов?/ Вот код: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> #include<iostream> #include <clocale> using namespace std;
C++ Печать alt-кодов в .txt файл Как напечатать символы alt-кодов в .txt файл через С++? подробнее

Показать сообщение отдельно
Ilot
Модератор
Эксперт С++
1807 / 1164 / 226
Регистрация: 16.05.2013
Сообщений: 3,060
Записей в блоге: 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;    
}
Да и вообще в коде много маленьких ляпов вроде использования постфиксных инкрементов, отсутствие резервирования памяти.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru