Contents
unique_ptr
- あるメモリの所有権をもつunique_ptrがただひとつであることを保証する
- コピー不可。ムーブのみ。
- 生成はmake_uniqueで(C++14以降)
- スコープが外れた時点でデストラクタが走り(デリーターを指定することもできる)、所有権が放棄され、メモリが解放される。
- 明示的なdelete不要
- 速い
- あるメモリの所有権を複数のshared_ptrで共有できる
- コピーもムーブも可能。
- 生成はmake_sharedで(C++11以降)
- 各shared_ptrのスコープが外れた時点で各々デストラクタが走り、所有権が放棄される。ただし、すべてのshared_ptrの所有権が放棄されない限りはメモリの解放は行われない
- 明示的なdelete不要
- 遅い