|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.11.2011, 14:13 | #1 |
Пользователь
Регистрация: 04.06.2010
Сообщений: 16
|
~диструктор() ;
Как я понял конструктор это механизм для инициализации переменных класса? как его еще можно использовать? А диструктор это противоположно для удаления инициализации что ли?????????или для чего?????
|
10.11.2011, 14:40 | #2 |
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,189
|
Как бы да, т.е. деструктор используют обычно для удаления объектов которые находятся в памяти (для очистки памяти). Но в .NET надо аккуратно пользоваться деструкторами, в идеале их вообще не надо использовать, т.к. есть GarbageCollector.
|
11.11.2011, 03:48 | #3 |
Наркоман самоучка
Форумчанин
Регистрация: 22.07.2007
Сообщений: 276
|
Если класс будет оперировать неуправляемыми ресурсами, то стоит реализовать финализатор (он же деструктор).
Вот хорошая статья: http://habrahabr.ru/blogs/net/89720/
#include <мозг.h>
|
11.11.2011, 08:10 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
обычно советовали делать класс c реализацией IDisposable.
ибо неизвестно когда будет вызван деструктор. PS: меня лично это раздражает%) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
12.11.2011, 11:17 | #5 | |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Цитата:
|
|
12.11.2011, 11:22 | #6 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
2)Можно было сделать нормально.(как в COM) А то по сути принцип тот же, но собирается мусор когда захочется сборщику(в итоге может и памяти не хватать и тп) В dotNET еще не доводил до нехватки памяти, а в Java(там же тот же принцип) на телефоне часто выходила ситуация, что только что памяти не хватало, а после сообщения об ошибке сразу появилась... 3)Итак не пишу. 4)Тут не язык виноват, а платформа. 5)Вы считаете что ситуация когда деструктор неизвестно когда будет вызван(и вообще не особо то рекомендован) хороша? Еще был иной вариант, что сборщик именно собирает память, а деструктор вызывается именно тогда когда объект больше не нужен. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 12.11.2011 в 11:29. |
|
12.11.2011, 12:56 | #7 | |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Цитата:
|
|