最終更新:2020-12-16 (水) 14:16:57 (1225d)  

スマートポインタ
Top / スマートポインタ

動的に確保されたオブジェクトを所有し、オブジェクトが不要になった時点で自動的に破棄してくれる、賢い(スマート)ポインタ

STL

Boost

C++11

unique_ptr?<T>

  • あるメモリに対する所有権を持つポインタが、ただ一つであることを保証するようなスマートポインタ
  • コピーが出来ない。

shared_ptr<T>

  • 同一のメモリの所有権を複数で共有できるようにしたスマートポインタ
  • コピーもムーブも可能。
  • 配列を扱うことができる。ただし、明示的にdeleterを指定する必要がある。
  • 参照カウント

weak_ptr?<T>

  • 循環参照によって生じる問題を防ぐために導入されたスマートポインタ
  • shared_ptr<T>の指すメモリを参照することができる

参考