![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#31 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
ну тогда да, все верно.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#32 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
![]()
delete сам вызывает деструктор удаляемого объекта, так что будет бесконечная рекурсия.
Форматируйте код, будьте людьми.
|
![]() |
![]() |
![]() |
#33 | |
Форумчанин
Регистрация: 07.08.2011
Сообщений: 576
|
![]()
Может я не правильно понимаю синтаксис с++? Но как я понимаю this, это указатель на объект. Так вот нам и надо освободить память по этому адресу.
![]() Цитата:
![]() Я это к тому-что, если в программе объекты будут создаватся только динамически. Можно-ли написать такой класс, чтобы сам освобождал память от своих объектов? ![]() |
|
![]() |
![]() |
![]() |
#34 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
smart ptr всякие например.
да и метод посерил-подтер вполне достаточен. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#35 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]() |
![]() |
![]() |
![]() |
#36 | ||
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]() Цитата:
Код:
Цитата:
Код:
1. Собственно объект в динамической памяти. 2. Указатель на этот объект на стеке (локальный). Ну так вот, когда закончится область видимости указателя, то он сдохнет. У этого указателя нет диструктора, который запустит delete объекту, на который он смотрит. Поэтому, когда указатель помрет, объект так и останется в куче. Если ты сделаешь вот так: Код:
Однако: это будет то, что ещё называют: "на первый этаж через чердак". Кроме того, подобные выкрутасы не имеют никаких приимуществ по сравнению со стандартным: Код:
Только во втором случае запись проще, понятнее, привычнее. А первый случай - это тернистая дорожка, которая в итоге опять таки вызовет delete Ну и смысл тогда? |
||
![]() |
![]() |
![]() |
#37 | ||
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#38 |
С++, Delphi
Форумчанин
Регистрация: 24.11.2012
Сообщений: 495
|
![]()
он наоборот крякнуть хочет.
но только он не так это мыслит... мало инфы по этому вопросу. а тут ему не дадут знаний. А объект сам должен заниматься своими делами... и лишь мы как начальник, решаем уволить или он ещё нужен, а может вместо него нам ещё кого то.. объект сам не может это решать. ну если только сообщит о своём намериньи и только. а в его случаи это не логично и нет даже в жизни. поэтому это приведёт только к аварийному завершению проги.
Если помог, тут весы есть
![]() |
![]() |
![]() |
![]() |
#39 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#40 | ||
Форумчанин
Регистрация: 07.08.2011
Сообщений: 576
|
![]() Цитата:
Цитата:
Код:
|
||
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Безопасность | e_e_n | Безопасность, Шифрование | 40 | 03.09.2010 01:11 |
Безопасность | x_AN777 | Помощь студентам | 2 | 08.05.2010 23:30 |
Безопасность | xap4o | PHP | 4 | 15.02.2010 00:02 |