|
2 / 2 / 0
Регистрация: 09.04.2011
Сообщений: 110
|
||||||
Не понятный вызов деструктора11.08.2012, 13:32. Показов 2613. Ответов 20
Метки нет (Все метки)
Здравствуйте. Ситуация такая, есть класс MyClass к примеру, и при таком коде:
p.s. вариант с указателем или отказом от деструктора не нужен
0
|
||||||
| 11.08.2012, 13:32 | |
|
Ответы с готовыми решениями:
20
Вызов деструктора Вызов деструктора |
|
2 / 2 / 0
Регистрация: 09.04.2011
Сообщений: 110
|
|
| 11.08.2012, 13:36 [ТС] | |
|
soon, поправил первый пост.
Мне это нужно чтобы я мог переменную var дальше использовать.
0
|
|
|
|
||||||
| 11.08.2012, 13:43 | ||||||
|
Byurrer, создается временный объект MyClass, который, в последствии, уничтожается.
0
|
||||||
|
2 / 2 / 0
Регистрация: 09.04.2011
Сообщений: 110
|
|
| 11.08.2012, 13:48 [ТС] | |
|
soon, прошу прощенья, я не правильно напсиал псевдокод, попарвил пост с этим кодом. Дело в том что вызод из функции WinMain не осуществялется до закрытия окна, а зациливается обаботка сообщений, и до этого зацикливания создается объект MyClass и после того как вызывается мной конструктор, почему то после него вызывается деструктор. Если объявить var как указатель и инициализировать соответсвующим образом (var = new MyClass()) то все в норме. И вот вопрос в том почему вызывается деструктор до выхода из функции, а точнее после вызова самого конструткора?
0
|
|
|
2 / 2 / 0
Регистрация: 09.04.2011
Сообщений: 110
|
|
| 11.08.2012, 13:53 [ТС] | |
|
soon, прочел, ситуация немного не та, в 4 посте осуществялется выход из функциии ессесно будет вызываться деструктор, а у меня не происходит выход из функциии и всеравно вызывается деструктор.
0
|
|
|
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
||||||
| 11.08.2012, 14:02 | ||||||
|
Byurrer, в строке
Если при разрушении временного объекта что-то нарушается в копии var, то это означает, что используется неправильный копирующий конструктор.
0
|
||||||
|
2 / 2 / 0
Регистрация: 09.04.2011
Сообщений: 110
|
|
| 11.08.2012, 14:06 [ТС] | |
|
Определял так, в конце конструктора МессиджБокс выдавал, и в деструткоре (ессесно с обозначением где конструткор, а где деструктор) и наблюдал эти два мессиджа друг за другом.
grizlik78, то есть по сути деструтор там не должен вызываться?
0
|
|
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
|
|||||||||
| 11.08.2012, 14:07 | |||||||||
|
У тебя есть глобальный объект
вот что происходит создается ВРЕМЕННЫЙ объект (безымянный) и после этого только идет копирование с временного объекта в твой глобальный на следующей строке временный объект уничтожается и вот вызывается его деструктор если напишешь так
0
|
|||||||||
|
2 / 2 / 0
Регистрация: 09.04.2011
Сообщений: 110
|
|
| 11.08.2012, 14:09 [ТС] | |
|
ValeryS, не дурень понимаю, но у меня написано по другому, я уже писал в предыдущих постах.
0
|
|
|
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
|||
| 11.08.2012, 14:11 | |||
|
0
|
|||
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
|
|||||||
| 11.08.2012, 14:12 | |||||||
|
примерно выходит так .......
0
|
|||||||
|
2 / 2 / 0
Регистрация: 09.04.2011
Сообщений: 110
|
|||||||
| 11.08.2012, 14:13 [ТС] | |||||||
|
soon,
0
|
|||||||
|
|
||||||
| 11.08.2012, 14:15 | ||||||
|
Byurrer, да боже-ж мой, вот код с бесконечным циклом
0
|
||||||
|
0 / 0 / 0
Регистрация: 22.04.2017
Сообщений: 2
|
|
| 22.04.2017, 17:41 | |
|
нужно просто для своего класса перегрузить оператор присваивания и все будет отлично)
0
|
|
|
0 / 0 / 0
Регистрация: 22.04.2017
Сообщений: 2
|
||
| 22.04.2017, 22:10 | ||
|
0
|
||
| 22.04.2017, 22:10 | |
|
Помогаю со студенческими работами здесь
20
Вызов деструктора Вызов деструктора Повторный вызов деструктора Двойной вызов деструктора
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Рецензия / Мнение/ Перевод
https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs
. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|