|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.02.2011, 16:11 | #1 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
Динамическая память С++
Вообщем задача определить класс "список", добавить всякие оператор функции .
Ругается на освобождение памяти при окончании main ... конструктор копий определил. Даже знаю в чем ошибка - в оператор функции operator--. когда делаю ++.. подскажите как это исправить. красным выделил места ошибок. Код:
|
04.02.2011, 16:58 | #2 |
Регистрация: 04.02.2011
Сообщений: 7
|
я только-только начал программировать, поэтому не ругайтесь, если фигню скажу.
que - переменная чар? что там прибавляется? о_о |
04.02.2011, 17:14 | #3 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
que -переменная указатель на символ, инкрементируя её мы увеличивает указатель на 1 байт тем самым указывая теперь на 2ой символ строки которая находится по que. из строки "привет" получим строку "ривет", вот для чего это делается. но возникают проблемы с очисткой памяти, тк наш указатель теперь указывает на другое место. типа того.
можно заменить que++; на for (int i=0; i<strlen(que); i++) que[i]=que[i+1]; но уж очень мне это не нравится. Последний раз редактировалось Stilet; 05.02.2011 в 16:02. |
04.02.2011, 17:21 | #4 |
Пользователь
Регистрация: 02.02.2011
Сообщений: 92
|
Можно так:
Добавить в класс мембер char* que_base; В конструктрах: que = que_base = new ... В деструкторе delete que_base; que_base больше нигде не трогать |
04.02.2011, 17:27 | #5 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
да, действительно, просто сделать 2ой указатель на тот же участок памяти и не трогать его.
только delete[] а не delete спасибо большое! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Динамическая память | Ledom | Общие вопросы C/C++ | 9 | 26.11.2010 00:07 |
Динамическая память | zhenya.ya | Помощь студентам | 1 | 22.09.2010 08:43 |
Динамическая память | Astat | Помощь студентам | 1 | 30.06.2010 20:40 |
Динамическая память | PaulSev | Общие вопросы Delphi | 12 | 25.03.2010 09:07 |
динамическая память в си | Serjuk | Помощь студентам | 0 | 27.12.2009 13:54 |