![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| rukudias |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 28.2.2007 Репутация: 0 Всего: 0 |
Прет!
есть код
|
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
||||
|
||||
| Evgen24 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 31.7.2007 Где: Россия Репутация: нет Всего: нет |
Результат работы надпись: dead
|
|||
|
||||
| nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 19 Всего: 181 |
-------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
Память освобождена не будет, если ты об этом.
|
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
а ее не выделял никто. Понял фишку вопроса:
те а() будет уничтожен раньше чем явно будет вызван деструктор для myobj... Видимо для а() создается свой локальный scope, что вполне логично, все равно к объекту обратиться нельзя будет. Это сообщение отредактировал(а) zkv - 22.9.2007, 22:47 |
|||
|
||||
| UnrealMan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 722 Регистрация: 30.3.2006 Репутация: 27 Всего: 32 |
||||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
||||
|
||||
| UnrealMan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 722 Регистрация: 30.3.2006 Репутация: 27 Всего: 32 |
Ну, вообще говоря, если T - тип, то T() - это необязательно временный объект. Всё зависит от контекста.
|
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
||||
|
||||
| UnrealMan |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 722 Регистрация: 30.3.2006 Репутация: 27 Всего: 32 |
Здесь int() - это не выражение, а тип (функция, не принимающая аргументов и возращающая int). Добавлено через 4 минуты и 10 секунд Ещё пример:
|
||||
|
|||||
| rukudias |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 28.2.2007 Репутация: 0 Всего: 0 |
Мдя!
А хто из выше писавщих debugил код???? так вот господа согласно коду создается ДВА обьекта класса а. а согласно выводу в консоль деструктор вызовется ТРИЖДЫ! проверьте если не верете прокоменрируйте почему? |
|||
|
||||
| nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 19 Всего: 181 |
потому что myobj создаётся в стеке, и деструктор его вызвается автоматически (в данном случае после выхода из main). С более сложными классами такие действия обычно приводят к коредампам и прочим зегфолтам (ну если луна в козероге то иногда обходится...) Это сообщение отредактировал(а) nickless - 23.9.2007, 00:58 -------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
||||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
Если в одной функции являющейся членом класса произошел ошибка и вызвана функция error(не являющяяся членом какого-либо класса вообще) которая после сообщения об ошибке производит exit( 1 ); то деструктор не сробатывает. Что лучше сделать чтоб срабатывал деструктор?
-------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Пользоваться исключениями. |
|||
|
||||
| rukudias |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 28.2.2007 Репутация: 0 Всего: 0 |
Ну умники продолжаем?
Че будет? |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| rukudias |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 28.2.2007 Репутация: 0 Всего: 0 |
Скорее ошыбку в ДНК!
|
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| rukudias |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 28.2.2007 Репутация: 0 Всего: 0 |
какже нечего есть чего!
Сюдя я из преведеных мною примеров я далаю вывод что деструктор это функция которая вызывается при удалении обьекта а не функция которая удаляет обьект! вот поэтому прокатует вызов метода класса после вызова деструктора явно Знаю умники начнут умнучать типа если ты вдеструкторе удалиш свойсвта этого класса то привызове методов использ эти свойстя будет ерор что в принципе и ежу понятно ! Всем спасибо! Ведро извене ний за грубые слова. |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
В следующий раз открой книгу и сделай вывод, прочитав пару страниц. Негоже обращаться в таком тоне к людям у которых просишь помощи >:o. -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
rukudias,
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |