![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Kuvaldis |
|
|||
![]() механик-вредитель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1189 Регистрация: 16.6.2006 Где: Минск Репутация: 11 Всего: 61 |
Всем привет!
Возникла такая проблема:
-------------------- Помни - когда ты спишь, враг не дремлет Спи чаще и дольше, изматывай врага бессоницей |
|||
|
||||
| Rififi |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 11 Всего: 36 |
Микрософт делает поблажки нерадивым программистам? :green: |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
если стандарт требует гарантии, что две конструкции работают одинаково, это не означает, что он требует, чтобы они работали по-разному
Добавлено через 39 секунд может, просто так было удобнее реализовать, стандарту не противоречит -------------------- qqq |
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
может работать так, а может и не так. Не определено что произойдет в случае применения одиночного делита для массива, может удалит все, а может нет.
|
|||
|
||||
| korian |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 8.3.2008 Где: Украина, Харьков Репутация: 3 Всего: 17 |
в общем случае это не определено, а на практике при одиночном делите массива (без скобок), деструктор вызывается только для одного объекта массива.
Это сообщение отредактировал(а) korian - 21.3.2008, 05:01 |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
не всегда. у меня segfault происходил либо во время либо немного после неверного delete'а. -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
Это потому что деструктор для встроенных типов - пустая функция, как и деструктор по умолчанию. Напиши класс без деструктора, будет то же самое. Дизассемблированный код просто не содержит этих ненужных вызовов (да и функций-деструкторов как таковых нет для встроенных типов). Добавлено через 2 минуты и 52 секунды память, выделенная operator new() должна освобождаться при помощи operator delete() память, выделенная operator new[]() должна освобождаться при помощи operator delete[]() привыкни так делать для всех типов, проблем будет меньше. не гарантируется что хотя бы для встроенных типов их смешивание будет работать. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |