Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Указатели: delete vs Free()


Автор: Alca 11.12.2007, 13:46
Как правильно убить указатель?
Код

TStringList *pSL = new TStringList();
delete pSL; pSL = NULL;    //так 
pSL->Free();    //или так

Автор: ama_kid 11.12.2007, 13:51
Цитата
Do not call the Free method of an object. Instead, use the delete keyword, which invokes Free to destroy an object. Free automatically calls the destructor if the object reference is not NULL.

Автор: mrbrooks 11.12.2007, 13:58
Дык в данном случае один фиг. Можно и так и так. 
Метод Free() вызывается только если мы уверены что уничтожаемый объект не равен NULL и вызывает деструктор класса строк в данном случае, а так используют delete.

Автор: Alca 11.12.2007, 19:35
СпаСибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)