Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
demigod324
4 / 2 / 0
Регистрация: 17.03.2013
Сообщений: 102
#1

В каких случаях возникает необходимость в создании своего деструктора? - C++

28.01.2014, 14:02. Просмотров 491. Ответов 6
Метки нет (Все метки)

Подскажите пожалуйста, в каких случаях возникает необходимость в создании своего деструктора?
Я знаю, что деструктор обычно используется, если при уничтожении объекта нужно освободить память, которую занимал объект.
Но возможно есть и другие случаи, возможно более специфические. Если можно, то с примерами)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2014, 14:02     В каких случаях возникает необходимость в создании своего деструктора?
Посмотрите здесь:

В каких случаях требуется работа с памятью? - C++
Приветствую всех. Интересует такой вопрос. Я знаком с основами C++. Но я читал где-то, что если разрабатывается большой проект, то работы...

Static обьект, в каких случаях применяется? - C++
Всем доброго дня ! Скажите пожалуйста в каком случае применяются статические обьекты.? class A { int x;

В каких случаях целесообразно динамическое выделение памяти? - C++
Здравствуйте, у меня назрел вот такой вот вопросик: Как я понимаю динамические переменные и массивы создаются с целью устранить утечки...

В каких случаях оправданно использование локальных классов? - C++
Здравствуйте. Вопрос: в каких случаях оправданно использование локальных классов? Или когда нужно использовать локальные классы? Какие есть...

Так в каких случаях стоит использовать наследование? - C++
Здравствуйте, уважаемое сообщество. После прочтения "C++ Coding Standards" by Herb Sutter and Andrei Alexandrescu, возникли некоторые...

Написать, в каких случаях не используется конструктор копирования - C++
2)Написать, в каких случаях не используется конструктор копирования

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,996
28.01.2014, 14:04     В каких случаях возникает необходимость в создании своего деструктора? #2
насколько я знаю, свой "глубокий" деструтор нужен только если в объекте применялось динамическое выделение памяти
gray_fox
What a waste!
1443 / 1172 / 61
Регистрация: 21.04.2012
Сообщений: 2,449
Завершенные тесты: 3
28.01.2014, 14:10     В каких случаях возникает необходимость в создании своего деструктора? #3
Цитата Сообщение от demigod324 Посмотреть сообщение
Я знаю, что деструктор обычно используется, если при уничтожении объекта нужно освободить память, которую занимал объект.
Не только память, любые ресурсы (закрыть файлы например). Вообще в теле деструктора может быть любой код по сути (только исключения оттуда бросать не стоит), что там должно быть уже зависит...
ValeryS
Модератор
6550 / 5016 / 463
Регистрация: 14.02.2011
Сообщений: 16,729
28.01.2014, 14:15     В каких случаях возникает необходимость в создании своего деструктора? #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от demigod324 Посмотреть сообщение
Подскажите пожалуйста, в каких случаях возникает необходимость в создании своего деструктора?
да стопятсот случаев
освободить память
закрыть файлы
сохранить значения
вывести на экран
.....................

короче от задачи зависит

Добавлено через 4 минуты

Не по теме:

есть такая притча
что когда монахи решат задачу "ханойская башня" ( перложат все 64 кружочка)то наступит "конец света"
вот можешь написать такой класс, а в деструкторе взорвать бомбу

dzrkot
28.01.2014, 14:17
  #5

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
есть такая притча
что когда монахи решат задачу "ханойская башня" ( перложат все 64 кружочка)то наступит "конец света"
вот можешь написать такой класс, а в деструкторе взорвать бомбу
так и не решил эту башню...рекурсия будь ты проклята

stima
455 / 304 / 23
Регистрация: 22.03.2011
Сообщений: 990
Завершенные тесты: 2
28.01.2014, 14:28     В каких случаях возникает необходимость в создании своего деструктора? #6
для реализации идиомы RAII
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2014, 14:43     В каких случаях возникает необходимость в создании своего деструктора?
Еще ссылки по теме:

В каких случаях Вы используете экспорт шаблонов и для чего? - C++
И в каких книгах подробно описано использование экспорта шаблонов в C++.

В каких случаях классы в С++ подключаются с явным указанием папки? - C++
в каких случаях классы в c++ подключаются с явным указанием папки? #include "Class01.h" // << обычное подключение #include...

Что и в каких случаях лучше использовать: cerr, clog, cout ? - C++
Доброго времени суток! Подскажите пожалуйста, когда лучше использовать cerr, clog, cout? При буферизованном вводе/выводе данные сначала...

В каких случаях вызывается конструктор копирования, и стоит ли вообще об этом думать? - C++
В книге Г. Шилдта написано, что конструктор копирования может неявно вызываться, при инициализации объекта значением, которое возращает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
28.01.2014, 14:43     В каких случаях возникает необходимость в создании своего деструктора? #7
1. Если класс непосредственно управляет выделением ресурса в конструкторе, то требуется деструктор (а еще и копирующий/перемещающий конструктор, оператор присваивания), в котором этот ресурс будет освобождаться.
2. Если ресурс захватывается косвенно, например другим классом, который является членом текущего, то деструктор (и пр.) не нужны, т.к. см. п.1.
Yandex
Объявления
28.01.2014, 14:43     В каких случаях возникает необходимость в создании своего деструктора?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru