Вопросы с тегом «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__()вызывается. Если это так, и это является причиной исключения, как я могу убедиться, …
463 python  destructor 

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

16
выбрасывать исключения из деструктора
Большинство людей говорят, что никогда не выбрасывают исключение из деструктора - это приводит к неопределенному поведению. Страуструп подчеркивает, что «векторный деструктор явно вызывает деструктор для каждого элемента. Это означает, что, если деструктор элемента выбрасывает, векторное разрушение завершается неудачно ... На самом деле нет хорошего способа защиты от исключений, генерируемых деструкторами, …



11
Вызывает ли удаление указатель на подкласс деструктор базового класса?
У меня есть, class Aкоторый использует выделение кучи памяти для одного из своих полей. Класс 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(); …

2
GNU GCC (g ++): почему он генерирует несколько dtors?
Среда разработки: GNU GCC (g ++) 4.1.2 Пока я пытаюсь исследовать, как увеличить «покрытие кода - особенно покрытие функций» в модульном тестировании, я обнаружил, что некоторые из классов dtor, похоже, генерируются несколько раз. Кто-нибудь из вас знает почему, пожалуйста? Я попробовал и заметил то, что я упомянул выше, используя следующий …
91 c++  g++  destructor 

3
shared_ptr магия :)
Мы с мистером Лидстремом поссорились :) Г-н Лидстрём утверждает, что конструкция shared_ptr<Base> p(new Derived);не требует наличия виртуального деструктора в Base: Армен Цирунян : «Правда? Будет ли shared_ptr правильно очищаться? Не могли бы вы в этом случае продемонстрировать, как этот эффект может быть реализован?» Даниэль Лидстрём : « shared_ptr использует свой …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.