IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> тип string, утечка памяти, C++ Builder 6
TarasBer
сообщение 18.09.2009 15:35
Сообщение #1


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Работу с типом char* я тупо не смог осилить, так как так и не понял, при каких операциях надо выделять ему память, при каких не надо. Короче ужаснейший тип, и кто его придумал, и ну его нафиг.
Решил применить string - я так понял, что это аналог паскалевского. Но обнаружилось, что после динамического создания структуры, содержащей поле типа string, и её удаления кол-во занимаемой памяти меняется. Встатив этот кусок в бесконечный цикл, я обнаружил, что память, пожираемая программой, пульсирует от 10 до 50 MЬ.
Вторая проблема - при отладке на операциях с этим типом он лезет в свои модули, мне они неинтересны, как запретить отладчику в них влазить.
Блин, настроек по сравнению с Дельфой раза в 3 больше, на кой.

Сообщение отредактировано: TarasBer - 18.09.2009 15:41


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
TarasBer   тип string, утечка памяти   18.09.2009 15:35
volvo   Выделять память надо всегда. Просто когда-то ее мо...   18.09.2009 16:49
TarasBer   Выделять память надо всегда. Просто когда-то ее м...   18.09.2009 17:45
volvo   Естественно... Для работы со строками в стиле С су...   18.09.2009 18:23
TarasBer   С чего бы? Ничего они не делают с памятью. В опис...   18.09.2009 18:43
volvo   До поры до времени - не вредят... Пока ты не напиш...   18.09.2009 19:05
TarasBer   Ну, тогда смотри: при выполнении delete, если до...   18.09.2009 20:05
volvo   Угу, именно поэтому... Кстати, а что за задачу ты...   18.09.2009 20:53
TarasBer   Кстати, а что за задачу ты решаешь? Я решаю зад...   18.09.2009 21:07
volvo   Фишка С++ - не в том, чтобы не писать свой велосип...   18.09.2009 21:29
TarasBer   Фишка С++ - не в том, чтобы не писать свой велоси...   18.09.2009 22:44
renesko1   С++ наоборот ИМХО понятен, если программа написана...   19.09.2009 14:29
TarasBer   Хьюстон, у нас опять проблемы. При вводе корректны...   19.09.2009 18:55
volvo   Где память выделяется, и где она освобождается? Ес...   19.09.2009 19:34
TarasBer   Естественно, все выделения и освобождения находятс...   19.09.2009 20:00
volvo   Ну, хорошо... Это переопределение операции деления...   19.09.2009 21:03
TarasBer   Значит собсна вычисление выражения выглядит так: ...   19.09.2009 21:23
volvo   Сомневаюсь... Поскольку сведения у меня о твоей пр...   19.09.2009 23:02
TarasBer   Запуск с гуардом даёт аксесс виолейшн, программа н...   20.09.2009 0:04
volvo   Присоедини свой проект, я его прогоню в 2009... Мо...   20.09.2009 0:10
TarasBer   Заодно я проверил, что дело не в "пустом...   20.09.2009 0:34
volvo   А ты знаешь, у меня не вылетает. У тебя вечный цик...   20.09.2009 1:21
TarasBer   > Так вот по 10 минут работало без перерыва, ни...   20.09.2009 12:10
TarasBer   И надо сказать, что хавает от не спеша, где-то пол...   20.09.2009 14:07
volvo   Ну не получается у меня, чтоб пожиралась память......   20.09.2009 14:52
TarasBer   А что это он сразу 8 метров отхватил? У меня в кор...   20.09.2009 15:07
volvo   Это Дебаг-версия + CodeGuard... Если скомпилироват...   20.09.2009 15:15
TarasBer   Я правильно понимаю, что команда new для создания ...   20.09.2009 18:20
TarasBer   Мне удалось подключить CodeGuard. Запустил, ввёл 1...   22.09.2009 22:17
TarasBer   Решил упростить свой случай до предела. Написал в ...   23.09.2009 13:12
volvo   Ничего там не создается... Проверил и Билдером, и ...   23.09.2009 13:57
TarasBer   Тогда ещё вопрос - как надо компилировать программ...   23.09.2009 14:16
volvo   нехватка Vcl50.bpl   23.09.2009 14:20
TarasBer   Понятно. Альтернативный вариант - чистое API? Екз...   23.09.2009 14:26
volvo   И в этом случае возможны проблемы (при отсутствии ...   23.09.2009 14:44
TarasBer   А просканировать как-нибудь тот екзешник, чтоб пон...   23.09.2009 20:31
volvo   Реально, только сравнивать надо не EXE-шники, а MA...   23.09.2009 21:52
TarasBer   А существует ли какой-либо механизм предсказания о...   24.09.2009 22:22
TarasBer   Попытался заняться дальнейшим упрощением "нев...   27.09.2009 13:30
volvo   Значит, в BCB6 такая "хорошая" работа с ...   27.09.2009 13:47
TarasBer   Значит, в BCB6 такая "хорошая" работа с...   27.09.2009 14:02
volvo   Чего сложного? http://www.codeblocks.org/downloads...   27.09.2009 14:09
volvo   Нет, этот баг нашел не ты, его нашли другие... Ты ...   27.09.2009 14:40
TarasBer   catch (Exception &E) { ... delete ...   28.09.2009 13:20
TarasBer   А такой код, с удалением исключения, будет работат...   28.09.2009 15:47
volvo   Нет, при попытке сделать delete &E;получишь In...   28.09.2009 19:01
TarasBer   Тогда какой #ифдеф на этот случай посоветуете? Я в...   28.09.2009 19:23
volvo   Насколько я помню номера компиляторов - так: cat...   28.09.2009 21:21
TarasBer   > && (__BORLANDC__ >= 0x560) Ну, во...   29.09.2009 9:35
volvo   Ты спрашивал, как определить Билдер 6 директивами ...   29.09.2009 10:04
TarasBer   Всё, больше вопросов нет, спасибо.   29.09.2009 13:45
TarasBer   Как заставить встроенные функции модуля math не вы...   29.09.2009 15:29
TarasBer   Заменил матх на фастматх, обнаружил новый прикол. ...   29.09.2009 20:28


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.06.2025 1:49
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"