スマートポインタについてあれこれ
最近Boostを使う機会が出来始めてしまったので念のため勉強。
C++関連の勉強って久しぶりにやった気がするわぁ。
- scoped_ptr
- 所有権を絶対に離さない(コピーできない)
- 使ってる側で勝手にdeleteするの禁止
- shared_ptr
- 所有権を特に定めない
- 参照カウンタが0になったときに自動的にdelete
- 使っている側で勝手にdeleteするの禁止
- weak_ptr
- shared_ptrと一緒に使う
- ダングリングポインタを防げる(参照しているポインタがどこかでdeleteされると、このポインタは自動的にnullになる)