Запитання з тегом «destructor»

21
Чи є деструктор для Java?
Чи є деструктор для Java? Я не можу знайти жодної документації на це. Якщо цього немає, як я можу досягти такого ж ефекту? Щоб зробити моє запитання більш конкретним, я пишу заявку, яка займається даними, і специфікація каже, що повинна бути кнопка "скидання", яка повертає програму у початковий стан, щойно …

9
Як правильно очистити об’єкт Python?
class Package: def __init__(self): self.files = [] # ... def __del__(self): for file in self.files: os.unlink(file) __del__(self)вище не вдається за винятком AttributeError. Я розумію, Python не гарантує існування "глобальних змінних" (даних членів у цьому контексті?), Коли __del__()викликається. Якщо це так, і це є причиною винятку, як я переконуюсь, що об'єкт …
462 python  destructor 

7
Чи потрібно явно викликати базовий віртуальний деструктор?
При переосмисленні класу на C ++ (з віртуальним деструктором) я знову реалізую деструктор як віртуальний у класі спадкування, але чи потрібно мені викликати базовий деструктор? Якщо так, я думаю, що це щось подібне ... MyChildClass::~MyChildClass() // virtual in header { // Call to base destructor... this->MyBaseClass::~MyBaseClass(); // Some destructing specific …
351 c++  destructor 

16
викидання виключень з деструктора
Більшість людей кажуть, що ніколи не викидайте виняток з деструктора - це призводить до невизначеної поведінки. Stroustrup вказує на те, що "векторний деструктор явно викликає деструктор для кожного елемента. Це означає, що якщо деструктор елемента кидає, руйнування вектора виходить з ладу ... Дійсно немає хорошого способу захисту від винятків, викинутих …



11
Чи видаляє вказівник на підклас виклик деструктора базового класу?
У мене є an, class Aякий використовує розподіл пам'яті купи для одного з його полів. Клас А інстанціюється і зберігається як поле вказівника в іншому класі ( class B. Коли я закінчую з об'єктом класу B, я дзвоню delete, який, як я вважаю, називає деструктором ... Але це також називає …


12
Навіщо нам потрібен чистий віртуальний деструктор на C ++?
Я розумію необхідність віртуального деструктора. Але навіщо нам потрібен чистий віртуальний деструктор? В одній із статей C ++ автор згадував, що ми використовуємо чистий віртуальний деструктор, коли хочемо зробити клас абстрактним. Але ми можемо зробити абстрактний клас, зробивши будь-яку з функцій учасника чистою віртуальною. Тож мої запитання є Коли ми …

6
Як знищити об’єкт?
Наскільки я знаю (що дуже мало), є два способи: $var = new object() Тоді: // Method 1: Set to null $var = null; // Method 2: Unset unset($var); Інший кращий метод? Я тут розщеплюю волоски?

10
Коли викликається деструктор C ++?
Основне запитання: коли програма викликає метод деструктора класу в C ++? Мені сказали, що він називається всякий раз, коли об'єкт виходить за межі сфери дії або піддається йомуdelete Більш конкретні питання: 1) Якщо об’єкт створений за допомогою вказівника, а цей вказівник пізніше видаляється або йому надається нова адреса, на яку …
118 c++  destructor 

7
Яка різниця між використанням IDisposable проти деструктора в C #?
Коли я можу реалізувати IDispose на класі на відміну від деструктора? Я читав цю статтю , але все одно пропускаю суть. Моє припущення полягає в тому, що якщо я реалізую IDispose на об'єкті, я можу явно його знищити на відміну від того, щоб чекати, коли сміттєзбірник це зробить. Це правильно? …
101 c#  .net  dispose  destructor 

3
У C # яка різниця між деструктором та методом Finalize у класі?
Яка різниця, якщо існує один, між деструктором та методом Finalize у класі? Нещодавно я виявив, що Visual Studio 2008 вважає деструктор синонімом методу Finalize, тобто Visual Studio не дозволяє одночасно визначати обидва методи в класі. Наприклад, наступний фрагмент коду: class TestFinalize { ~TestFinalize() { Finalize(); } public bool Finalize() { …

2
GNU GCC (g ++): Чому він генерує кілька dtors?
Розвиваюче середовище: GNU GCC (g ++) 4.1.2 Поки я намагаюся дослідити, як збільшити "охоплення коду - зокрема, функціональне покриття" в модульному тестуванні, я виявив, що частина класу dtor, здається, генерується кілька разів. Хтось із вас уявляє, чому, будь ласка? Я спробував і спостерігав те, що я згадав вище, використовуючи наступний …
90 c++  g++  destructor 

3
shared_ptr magic :)
Ми з паном Лідстремом посварились :) Твердження пана Лідстрема полягає в тому, що конструкція shared_ptr<Base> p(new Derived);не вимагає від Base наявності віртуального деструктора: Армен Цирунян : "Дійсно? Чи правильно буде очищати shared_ptr ? Чи не могли б ви, у цьому випадку, продемонструвати, як цей ефект можна реалізувати?" Даніель Лідстрем : …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.