Re[6]: & и *
От: LuciferMoscow Россия  
Дата: 11.03.05 09:37
Оценка:
Здравствуйте, Leshi, Вы писали:

L>Здравствуйте, LuciferMoscow, Вы писали:



L>>>во-вторых тренирует память (выделил -- освободи! )

LM>>В целом прав. Но не проще ли дать освобождение самому компилеру( using smart pointer)
L>ИМХО для начинающего -- smart pointer как раз вред. Ведь если есть два объекта, у которых внутри указатели (умные) друг на друга, то в этом случае память так и не освободится... Так что думаю, сначала надо научиться работать с памятью руками, а потом использовать автоматизацию.

Сейчас имел ввиду std::auto_ptr
Пример:
void MyFunc()
{
  LcfObject* pQ=new LcfObject;
  ...
  if ( !SomeOtherFunc() )
  {
    delete pQ;
    throw SomeError;
  }
  ...
  if ( !SomeOtherFunc2() )
  {
    delete pQ;
    throw SomeOtherError;
  }
  ...
  delete pQ;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.