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