Вопросы по теме 'destructor'

Почему деструктор не вызывается при исключении?
Я ожидал, что в этой программе будет вызван A::~A() , но это не так: #include <iostream> struct A { ~A() { std::cout << "~A()" << std::endl; } }; void f() { A a; throw "spam"; } int main() { f(); } Однако, если я...
12876 просмотров

Деструктор против гонки функций-членов
Когда я нахожусь внутри деструктора, возможно ли, что какой-то другой поток начнет выполнять функцию-член объекта? Как справиться с этой ситуацией?
1542 просмотров
schedule 28.09.2023

В C # в чем разница между деструктором и методом Finalize в классе?
В чем разница, если она есть, между деструктором и методом Finalize в классе? Недавно я обнаружил, что Visual Studio 2008 считает деструктор синонимом метода Finalize, что означает, что Visual Studio не позволит вам одновременно определять оба...
68921 просмотров
schedule 21.12.2022

удаленное взаимодействие и деструкторы в c #
Я играю с функциями удаленного взаимодействия .net, и есть кое-что, что я не могу ни понять, ни найти ответ в Google, а именно то, как работает удаление объектов. Я пытаюсь реализовать какой-то пул объектов с удаленным взаимодействием, для этого у...
1657 просмотров
schedule 12.06.2022

Когда в этом случае вызывается мой деструктор? (С#)
Мне было интересно, когда в этих обстоятельствах вызывается деструктор, и если да, то будет ли он вызываться в основном потоке пользовательского интерфейса? Допустим, у меня есть следующий код, когда будет вызываться деструктор и будет ли он ждать,...
3973 просмотров
schedule 04.04.2024

Вручную уничтожать объекты C#
Я новичок в изучении С# (из фона Java и С++), и у меня есть вопрос о ручном удалении мусора: возможно ли вообще вручную уничтожить объект в С#? Я знаю об интерфейсе IDisposable , но предположим, что я имею дело с классом, который я не писал, и он...
78697 просмотров
schedule 24.03.2022

Как вы запрашиваете pthread, чтобы узнать, работает ли он?
В моем деструкторе я хочу чисто уничтожить поток. Моя цель - дождаться завершения выполнения потока и ЗАТЕМ уничтожить поток. Единственное, что я нашел о запросе состояния pthread, это pthread_attr_setdetachstate , но это только говорит вам,...
103600 просмотров

Как работают конструкторы и деструкторы?
Я пытаюсь понять этот код: class Person: '''Represents a person ''' population = 0 def __init__(self,name): //some statements and population += 1 def __del__(self): //some statements and population -= 1...
10056 просмотров
schedule 08.10.2022

C ++: Срок службы временных аргументов?
При создании нового экземпляра MyClass в качестве аргумента такой функции: class MyClass { MyClass(int a); }; myFunction(MyClass(42)); Предоставляет ли стандарт какие-либо гарантии по времени деструктора? В частности, могу ли я...
13114 просмотров
schedule 07.01.2024

Перемещение ctor и перемещение dtor
Как я уже просил в Переместить конструктор/оператор= , и через некоторое время я согласился и принял правильное ответ на этот вопрос. Я только что подумал, было бы полезно иметь что-то вроде "Moving Destructor" , который вызывался бы для...
560 просмотров

Сбой деструктора
Я работаю над приложением Win32 С++ в Visual Studio. В одном из исходных файлов у меня есть глобальный объект, как показано ниже. TestClass tObj; int main() //Execution starts here { } TestClass определен в другой DLL, как показано ниже....
2368 просмотров
schedule 27.06.2023

Неопределенное поведение с не виртуальными деструкторами — это реальная проблема?
Рассмотрим следующий код: class A { public: A() {} ~A() {} }; class B: public A { B() {} ~B() {} }; A* b = new B; delete b; // undefined behaviour Насколько я понимаю, в стандарте C++ говорится, что удаление b является...
578 просмотров
schedule 24.11.2023

Как будет вести себя _Exit в программе на C++?
C99 предлагает функцию _Exit , которая завершает работу "немедленно", хотя она делает и может закрывать файловые дескрипторы. Unix/POSIX расширяет это поведение, предписывая закрытие всех fd без очистки (и предлагает синоним _exit ). Будут...
2878 просмотров
schedule 17.02.2023

Событие VCL во время уничтожения
У меня проблема, когда некоторые элементы управления VCL иногда запускают события во время уничтожения, вызывая вызов обработчиков в подклассовой форме, которая уже была уничтожена (например, элемент управления уничтожается деструктором родителя...
147 просмотров
schedule 12.03.2023

Я должен вызвать деструктор явно
class TsDatabasePool { private: TsDatabasePool(int numDBConn, std::string& DBName, std::string& DBType); static TsDatabasePool* objInst_; public: ~TsDatabasePool(); QSqlDatabase*...
673 просмотров
schedule 04.09.2023

Загрузить состояние просмотра при загрузке страницы, сохранить при выгрузке страницы (из базового класса) - С# Asp.net
Простите меня за вопрос приземленного новичка, но я, кажется, застрял в подвешенном состоянии жизненного цикла класса. Итак, у меня есть моя страница public partial class DefaultPage : BasePage { ... } И BasePage вот так: public...
3803 просмотров

Класс C #: ведение журнала / ведение журнала, следует ли использовать деструктор?
У меня есть класс C #. Когда этот класс больше не используется, я хочу кое-что сделать. Например, зарегистрируйте текущее состояние и так далее. Я хочу быть уверенным, что этот метод запускается каждый раз, когда класс больше не используется. Я...
1769 просмотров
schedule 04.04.2024

Почему qCritical или qDebug не работают при вызове из деструктора?
У меня есть многопоточное приложение, которое я изначально разрабатывал с использованием Qt 4.6 и Qt Creator 2.2 (или, возможно, 2.1), а недавно я обновился до Qt 4.7 и Qt Creator 2.3 (все это в Windows). Ранее я тестировал порядок уничтожения...
1159 просмотров
schedule 11.05.2024

Python threading.Thread, области видимости и сборка мусора
Скажем, я получаю от threading.Thread: from threading import Thread class Worker(Thread): def start(self): self.running = True Thread.start(self) def terminate(self): self.running = False self.join()...
5507 просмотров

Как получить указатель функции-члена деструктора?
Предположим, у меня есть struct X { ~X() {} }; Каков тип и как получить указатель функции-члена X::~X() в С++ 03? Я не хочу на самом деле вызывать его, просто используйте в SFINAE, чтобы понять, существует ли деструктор для данного типа.
2417 просмотров