最終更新:2020-12-16 (水) 14:16:57 (1395d)
スマートポインタ
Top / スマートポインタ
動的に確保されたオブジェクトを所有し、オブジェクトが不要になった時点で自動的に破棄してくれる、賢い(スマート)ポインタ
STL
Boost
- scoped_ptr?
- shared_ptr
C++11
unique_ptr?<T>
- あるメモリに対する所有権を持つポインタが、ただ一つであることを保証するようなスマートポインタ
- コピーが出来ない。
shared_ptr<T>
- 同一のメモリの所有権を複数で共有できるようにしたスマートポインタ
- コピーもムーブも可能。
- 配列を扱うことができる。ただし、明示的にdeleterを指定する必要がある。
- 参照カウント
weak_ptr?<T>
- 循環参照によって生じる問題を防ぐために導入されたスマートポインタ
- shared_ptr<T>の指すメモリを参照することができる