タグ

ブックマーク / rgba.hatenablog.com (1)

  • delete this の安全性 -

    メンバー向けトレーニングネタその1。delete this は危険に見えるが何を削除しているのか確認する。 class ClassA { public: void del() { delete this; } }; int main() { ClassA* ptr = new ClassA(); ptr->del(); // ダメな例 // ClassA test; // test.del(); return 0; } (gdb) b ClassA::del Breakpoint 1 at 0x4006aa: file test.cc, line 6. (gdb) run Breakpoint 1, ClassA::del (this=0x602010) at test.cc:6 6 delete this; ようするに、削除されるのはオブジェクトの管理領域 (0x602010) であって

    delete this の安全性 -
    iww
    iww 2024/03/18
    delete this; ちゃんと書けば大丈夫 という話
  • 1