![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
georain |
|
||||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 28.11.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
Есть два типа перегруженных операторов delete:
второй принимает размер класса. В оператор new можно добавлять параметры:
При выбросе исключения в конструкторе SomeClass вызывается delete соответствующий new
Если такого оператора нет, то никакой оператор не будет вызван. Задача 1: Требуется иметь new с доп. параметрами и при этом delete принимающий размер Задача 2: Требуется иметь delete принимающий размер и доп. параметры
Все это должно работать при выбросе исключений. Для чего это нужно: для создания отладочных new и delete, принимающих __FILE__, __LINE__. Есть идея создать макрос NEW(SomeClass) и DELETE(ptr), (вставка FILE-LINE внутри) но это сами понимаете... В крайнем случае макросы можно было бы иметь такие: NEW SomeClass и DELETE ptr, но как сделать такой NEW у меня идей нет. |
||||||||||
|
|||||||||||
ZeroPoint |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 20.1.2009 Репутация: нет Всего: нет |
||||
|
||||
just_geek |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 2 Всего: 10 |
а зачем тебе делет принимающий размер? он будет не корректно размер вычислять (особенно это касается delete[] )
нельзя... только когда исключение кидается. |
||||
|
|||||
georain |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 28.11.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
||||
|
||||
georain |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 28.11.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
Да, статья говорит о идее испозьзовнаия, но там ничего не сказано что будет с этим кодом в случае исключений. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |