Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Отладочный delete принимающий размер класса |
Автор: georain 14.1.2009, 22:01 | ||||||||||
Есть два типа перегруженных операторов 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 21.1.2009, 13:55 |
Не точно то, о чем спрашивалось, но очень похоже: http://www.realcoding.net/article/view/109 |
Автор: just_geek 22.1.2009, 08:03 | ||||
а зачем тебе делет принимающий размер? он будет не корректно размер вычислять (особенно это касается delete[] )
нельзя... только когда исключение кидается. |
Автор: georain 23.1.2009, 19:34 | ||
Да, статья говорит о идее испозьзовнаия, но там ничего не сказано что будет с этим кодом в случае исключений. |