определение оператров new и delete
От: BOPOH_N Россия  
Дата: 05.02.04 18:29
Оценка:
Определяю свои глобальные операторы:

void * __cdecl operator new(size_t size, int type,  const char * file, int line, clock_t start)
{    
    return ::operator new( size+sizeof(start), type, file, line));    
}

void __cdecl operator delete(void * p, int type,const char * file,int line,clock_t stop )
{
    ::operator delete(p, type, file, line);     
}

main()
{
    Class *A = new (_NORMAL_BLOCK, __FILE__, __LINE__, clock());
    // все нормально объект память выделяется конструктор выполняется
    
    // а тут проблема, если так
    delete(A); // не вызывается мой оператор delete
    // если так
    operator delete(A, _NORMAL_BLOCK, __FILE__, __LINE__, clock());
    //то не вызывается деструктор
}


Как правильно вызвать мой оператор delete?
В искустве летать есть один маленький секрет. Секрет этот в том,чтобы бросить себя изо всех сил на землю — и не попасть. Выберете погожий денек и попробуйте сами.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.