powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / gjgvjubnt разобраться со смыслом delete
7 сообщений из 7, страница 1 из 1
gjgvjubnt разобраться со смыслом delete
    #33679899
guest_gs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сразу говорю что новичок, прошу объяснить как работает delete
Вот к примеру есть такой код в C++ Builder.

void __fastcall TForm1::Button2Click(TObject *Sender)
{
if (!pInt)
pInt = new int(5);
}
//--------------------------------------------------------------------------
-
void __fastcall TForm1::Button3Click(TObject *Sender)
{
if (pInt)
delete pInt;
}
//--------------------------------------------------------------------------
-
void __fastcall TForm1::Button4Click(TObject *Sender)
{
if (pInt) ShowMessage(*pInt);
}
//--------------------------------------------------------------------------
-

где pInt - это int *pInt.
Так вот после нажатия второй кнопки адрес в pInt остается тем же.
Это что получается что он не удаляется? Просто освобождается память?
Как же тогда отследить что указатель был удален? Или после delete нужно pInt = NULL делать?
...
Рейтинг: 0 / 0
gjgvjubnt разобраться со смыслом delete
    #33679940
Dmitrii K.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_gsТак вот после нажатия второй кнопки адрес в pInt остается тем же.
Это что получается что он не удаляется? Просто освобождается память?


Да, просто освобождается, но НЕ обнуляется.

guest_gsКак же тогда отследить что указатель был удален? Или после delete нужно pInt = NULL делать?

Можно.
...
Рейтинг: 0 / 0
gjgvjubnt разобраться со смыслом delete
    #33679952
ylinik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нужно взять книжку и прочитать главу про указатели и выделение динамической памяти ;)
...
Рейтинг: 0 / 0
gjgvjubnt разобраться со смыслом delete
    #33679974
guest_gs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Книжку то я читаю. Там просто этот момент не особо подробно описан. Говорят что память очищается, а я в программе попробовал, а там не так происходит как я думал. Захотелось уточнить. Спасибо за ответ
...
Рейтинг: 0 / 0
gjgvjubnt разобраться со смыслом delete
    #33679995
ylinik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_gsКнижку то я читаю. Там просто этот момент не особо подробно описан. Говорят что память очищается, а я в программе попробовал, а там не так происходит как я думал. Захотелось уточнить. Спасибо за ответ

там должно быть написано, что есть указатель - переменная, в которой адрес выделяемого участка памяти, а есть выделяемый участок памяти, и это совершенно разные вещи. Указателей на одну область может много, это обычные переменные с адресом.
:)
...
Рейтинг: 0 / 0
gjgvjubnt разобраться со смыслом delete
    #33680129
guest_gs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну понял, то есть когда память освобождается, указатель не обнуляется. Я то подумал что он будет обнуляться
...
Рейтинг: 0 / 0
gjgvjubnt разобраться со смыслом delete
    #33680149
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_gsЯ то подумал что он будет обнулятьсяА с фуёв ли ему обнуляться ? А почему бы не устанавливаться в MAXINT ? Или в -1 ? или х его з во что еще ?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / gjgvjubnt разобраться со смыслом delete
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]