Vladimir "Dair" Lebedev-Schmidthof (dair_spb) wrote,
Vladimir "Dair" Lebedev-Schmidthof
dair_spb

программистское, C++

http://www.livejournal.com/community/cpp/202678.html

откуда-то я подобрал в свое время, что delete/free по-хорошему стОит делать в том же компоненте (функции ли, классе ли), где и new/malloc...

иначе задолбаешься, в случае чего, segfault'ы ловить...


типа так:

void myFunc() {
  ...
  MyClass * mc = new MyClass(...);
  ...
  mc->memberFunc( ... );
  ...
  delete mc;
  ...
}


или

class MyClass {
  public:
    MyClass();
    ~MyClass();

    void doSomething();
  protected:
    MyOtherClass * other;
};

MyClass::MyClass()
{
  other = new MyOtherClass();
}

MyClass::~MyClass()
{
  delete other;
}

void MyClass::doSomething()
{
  ...
  other->letOtherDoSomething();
  ...
}





Приведенный по ссылке пример для меня всегда был из разряда "never-ever do that".
Задумался.
Subscribe

  • Сдался https://vk.com/dair_spb

    надо как-то игры делать, а почему-то все люди в этой дурацкой соцсети. Ну, там теперь хоть не Дуров главный, хоть это хорошо. Людей люблю, соцсеть…

  • Качество вебсайтов

    Качество вебсайтов я проверяю очень просто. Если после, условно, минуты нахождения на вебсайте на моём MacBook Pro (Retina, 13-inch, Late 2013)…

  • Информатизация не до конца.

    Давеча надо было продлевать ОСАГО. Страховая компания Ренессанс любезно предоставляет возможность заполнить всё онлайн и запросить полис курьером.…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 8 comments