Как узнать размер обьекта в operator delete?
От: Аноним  
Дата: 29.10.04 09:42
Оценка:
Привет!!!

Как можна узнать размер обьекта который я пытаюсь удалить через глобально переопределенный operator delete, там я имею только void*, а sizeof- у нужен тип которого я не знаю... ???
Re: Как узнать размер обьекта в operator delete?
От: Bell Россия  
Дата: 29.10.04 09:47
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Привет!!!


А>Как можна узнать размер обьекта который я пытаюсь удалить через глобально переопределенный operator delete, там я имею только void*, а sizeof- у нужен тип которого я не знаю... ???

А тебе зачем?
Любите книгу — источник знаний (с) М.Горький
Re[2]: Как узнать размер обьекта в operator delete?
От: Аноним  
Дата: 29.10.04 09:55
Оценка:
Здравствуйте, Bell, Вы писали:

B>Здравствуйте, Аноним, Вы писали:


А>>Привет!!!


А>>Как можна узнать размер обьекта который я пытаюсь удалить через глобально переопределенный operator delete, там я имею только void*, а sizeof- у нужен тип которого я не знаю... ???

B>А тебе зачем?

Нужно промониторить память на корректность удаления обьектов...
Re: Как узнать размер обьекта в operator delete?
От: maq Россия http://www.maqdev.com
Дата: 29.10.04 10:00
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Привет!!!


А>Как можна узнать размер обьекта который я пытаюсь удалить через глобально переопределенный operator delete, там я имею только void*, а sizeof- у нужен тип которого я не знаю... ???


У оператора delete есть второй вариант, где есть второй параметр — size_t
... << RSDN@Home 1.1.4 beta 2 >>
Re[3]: Как узнать размер обьекта в operator delete?
От: Lorenzo_LAMAS  
Дата: 29.10.04 10:01
Оценка:
А>Нужно промониторить память на корректность удаления обьектов...
Для класса можно определить
void operator delete(void *, std::size_t)throw()
{
//
}
Of course, the code must be complete enough to compile and link.
Re[3]: Как узнать размер обьекта в operator delete?
От: Bell Россия  
Дата: 29.10.04 10:08
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Нужно промониторить память на корректность удаления обьектов...

Может быть поможет эта статья
Автор(ы): Эдвард Райт

Статья посвящена проблеме, которая постоянно преследует программистов на C/C++, — обнаружению и локализации утечек памяти. Автор демонстрирует применение средств библиотеки времени выполнения (CTR), поставляемой с Visual C++, с помощью которых утечки памяти можно устранить гораздо быстрее и проще, чем методом "пристального взгляда".
.

ЗЫ
А тулзы типа BoundsChecker не помогают?
Любите книгу — источник знаний (с) М.Горький
Re[4]: Как узнать размер обьекта в operator delete?
От: Аноним  
Дата: 29.10.04 10:24
Оценка:
Здравствуйте, Bell, Вы писали:

B>Здравствуйте, Аноним, Вы писали:


А>>Нужно промониторить память на корректность удаления обьектов...

B>Может быть поможет эта статья
Автор(ы): Эдвард Райт

Статья посвящена проблеме, которая постоянно преследует программистов на C/C++, — обнаружению и локализации утечек памяти. Автор демонстрирует применение средств библиотеки времени выполнения (CTR), поставляемой с Visual C++, с помощью которых утечки памяти можно устранить гораздо быстрее и проще, чем методом "пристального взгляда".
.


B>ЗЫ

B>А тулзы типа BoundsChecker не помогают?
Мне лично неудобно им пользоваться, так как он останавливаеться даже в тех местах где ошибок распределения памяти нету, к примеру там где обьекты складываются в коллекцию и и где то при выходе из программы удаляються, а он проверяет по принципу — если в блоке есть operator new, но нету operator delete то все ошибка...
Re: Как узнать размер обьекта в operator delete?
От: Аноним  
Дата: 29.10.04 12:56
Оценка:
А>Как можна узнать размер обьекта который я пытаюсь удалить через глобально переопределенный operator delete, там я имею только void*, а sizeof- у нужен тип которого я не знаю... ???
А по указателю нельзя узнать сколько памяти было выделенно на данный адрес?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.