Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> delete или free, что правильнее использовать  
V
    Опции темы
Evgeny84
Дата 30.5.2007, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 20.5.2007

Репутация: нет
Всего: нет



Использую vc6.0.
В MSDN написано что правильнее использовать free((type) value)
Но насколько я помню объясняли что с new используют delete[] value, а с alloc free...

Так всёже как вернее???
(есть подозрения что после delete переменные остаются в памяти)
PM MAIL   Вверх
DigitSphinx
Дата 30.5.2007, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 28.4.2007
Где: Москва

Репутация: нет
Всего: 3



попробуй откомпилить это :
Код

int * k = new int;
*k = 10;
cout << "K = " << k << "  *k = " << *k << endl;
delete k;
cout << "K = " << k << "  *k = " << *k << endl;
* k = 100;
cout << "K = " << k << "  *k = " << *k << endl;

и увидишь что следующие не верно
Цитата

(есть подозрения что после delete переменные остаются в памяти)

P.S.
Цитата

HEAP[read.exe]: HEAP: Free Heap block 35a5c8 modified at 35a5f0 after it was freed
Windows has triggered a breakpoint in read.exe.
This may be due to a corruption of the heap, and indicates a bug in read.exe or any of the DLLs it has loaded.


Это сообщение отредактировал(а) DigitSphinx - 30.5.2007, 22:39


--------------------
Чтобы пробить стену лбом нужен или большой разбег, или много лбов.
(Альберт Эйнштейн)
Умен ты или глуп, велик ты или мал, не знаем мы, пока ты слова не сказал.
(Альберт Эйнштейн)
user posted image
PM MAIL ICQ   Вверх
Evgeny84
Дата 31.5.2007, 02:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 20.5.2007

Репутация: нет
Всего: нет



DigitSphinx, так в чём же тогда между ними разница?
PM MAIL   Вверх
Tectoder
Дата 31.5.2007, 03:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 202
Регистрация: 13.3.2007

Репутация: 7
Всего: 8



Evgeny84, вообще говоря они могут использовать разные кучи. Считается нормальным, если free освобождает память выделенную malloc'ом, а delete - память выделенную new
Кроме того, что важно - delete вызывает деструкторы, а free - нет
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0518 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.