Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 23.08.2018
Сообщений: 4
1

Не вызывается деструктор

28.11.2019, 12:05. Просмотров 983. Ответов 2
Метки нет (Все метки)

Добрый день! Подскажите, пожалуйста, как быть... Есть программа:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main()
{   
    MyClass obj;
    obj.start();
    std::string value;
 
    while (true)
    {        
        std::cin >> value;
        
        if (value == std::string("exit"))
            break;
    }
 
    return EXIT_SUCCESS;
}
Соответственно, если в консоли ввожу "exit", все ок. Но если закрываю консоль, то бесконечный цикл так и висит, деструктор моего объекта так и не срабатывает. Вызов obj.start() не блокирующий, в нем создаются необходимые потоки и работа должна продолжаться до закрытия программы. Но получается, что работа завершается аварийно. Как избежать подобного?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.11.2019, 12:05
Ответы с готовыми решениями:

При создании класса конструктор вызывается 2 раза, затем вызывается деструктор о_О
Вот такой кодclass A { public: A(){} virtual ~A(){} }; class C { public:

Не вызывается деструктор
#include <iostream> using namespace std; class myclass { int a; public: myclass(); //...

Деструктор не вызывается
В одном классе я создаю объект, и если проверку не проходит, я его возвращаю в другой метод, дабы...

Не вызывается деструктор
_Здравствуйте. Я новичок в программировании, сейчас изучаю самостоятельно С++ по книге Джесса...

2
5445 / 3676 / 1528
Регистрация: 07.05.2019
Сообщений: 11,392
Записей в блоге: 1
28.11.2019, 12:10 2
Лучший ответ Сообщение было отмечено o33-o33 как решение

Решение

Цитата Сообщение от o33-o33 Посмотреть сообщение
Как избежать подобного?
Registering a Control Handler Function

Добавлено через 13 секунд
CTRL_CLOSE_EVENT
1
0 / 0 / 0
Регистрация: 23.08.2018
Сообщений: 4
28.11.2019, 12:53  [ТС] 3
Спасибо, все сработало!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.11.2019, 12:53

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Почему вызывается деструктор?
Доброго времени суток. Написал такой код: struct O { virtual ~O() { cout...

Не вызывается деструктор структуры
Создал класс. Членом класса является указатели на структуру, которая определена в классе. Поля...

Почему не вызывается деструктор?
Всем доброго времени суток! Подскажите пожалуйста - почему не вызывается деструктор при...

Вызывается ли деструктор в данной программе?
вызывается ли деструктор в данной программе и почему он не выводит на экран,что он...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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