andrew_s Гость
|
Добавлено: Вт Сен 10 2002 16:09 Заголовок сообщения: suhachov@ufacom.ru |
|
|
Помогите разобраться с new/delete
Хочу заменить дефолтные функции new/delete на свои. Надо чтобы при вызове своих функций передавались имя файла и номер строки.
В упор не могу понять по какой логике работает следующая конструкция: a = new(__FILE__,__LINE__) char[100] -> вызывает: void*operator new(size_t size,const char* file,unsigned line) { ... } Если кто мне объяснит что это за синтаксис такой - спасибо ему БОЛЬШОЕ, но это не главное, т.к. проделать подобную фишку с delete не получается.
Вызов: delete(__FILE__,__LINE__,ptr) проходит нормально без возражений, но оператор первые 2 аргумента _просто_не_получает_!!! (ни в каком виде). Компилятор их даже в стек не пихает. И естественно не позволяет определить OPERATOR DELETE c аргументами отличными от (VOID*), хотя против доп. аргументов для NEW он ничего не имеет...
Как это можно обойти (и можно-ли вообще)? |
|