
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
20.04.2006, 16:29
|
|||
|---|---|---|---|
|
|||
gjgvjubnt разобраться со смыслом delete |
|||
|
#18+
Сразу говорю что новичок, прошу объяснить как работает 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 делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.04.2006, 16:38
|
|||
|---|---|---|---|
|
|||
gjgvjubnt разобраться со смыслом delete |
|||
|
#18+
guest_gsТак вот после нажатия второй кнопки адрес в pInt остается тем же. Это что получается что он не удаляется? Просто освобождается память? Да, просто освобождается, но НЕ обнуляется. guest_gsКак же тогда отследить что указатель был удален? Или после delete нужно pInt = NULL делать? Можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.04.2006, 16:40
|
|||
|---|---|---|---|
|
|||
gjgvjubnt разобраться со смыслом delete |
|||
|
#18+
нужно взять книжку и прочитать главу про указатели и выделение динамической памяти ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.04.2006, 16:46
|
|||
|---|---|---|---|
|
|||
gjgvjubnt разобраться со смыслом delete |
|||
|
#18+
Книжку то я читаю. Там просто этот момент не особо подробно описан. Говорят что память очищается, а я в программе попробовал, а там не так происходит как я думал. Захотелось уточнить. Спасибо за ответ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.04.2006, 16:51
|
|||
|---|---|---|---|
|
|||
gjgvjubnt разобраться со смыслом delete |
|||
|
#18+
guest_gsКнижку то я читаю. Там просто этот момент не особо подробно описан. Говорят что память очищается, а я в программе попробовал, а там не так происходит как я думал. Захотелось уточнить. Спасибо за ответ там должно быть написано, что есть указатель - переменная, в которой адрес выделяемого участка памяти, а есть выделяемый участок памяти, и это совершенно разные вещи. Указателей на одну область может много, это обычные переменные с адресом. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.04.2006, 17:23
|
|||
|---|---|---|---|
|
|||
gjgvjubnt разобраться со смыслом delete |
|||
|
#18+
ну понял, то есть когда память освобождается, указатель не обнуляется. Я то подумал что он будет обнуляться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.04.2006, 17:27
|
|||
|---|---|---|---|
|
|||
gjgvjubnt разобраться со смыслом delete |
|||
|
#18+
guest_gsЯ то подумал что он будет обнулятьсяА с фуёв ли ему обнуляться ? А почему бы не устанавливаться в MAXINT ? Или в -1 ? или х его з во что еще ? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2031477]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
141ms |
get topic data: |
14ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 472ms |

| 0 / 0 |
