More Related Content
PDF
STLの型の使い分け(ダイジェスト版) @ Sapporo.cpp 第7回勉強会 (2014.10.18) PDF
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30) PDF
Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」 PDF
2011.12.10 関数型都市忘年会 発表資料「最近書いた、関数型言語と関連する?C++プログラムの紹介」 PDF
PDF
PDF
C++ Template Meta Programming の紹介@社内勉強会 PDF
What's hot
PDF
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ. PDF
PPTX
PDF
PDF
Boost.勉強会#19東京 Effective Modern C++とC++ Core Guidelines PPTX
C# 8.0 Preview in Visual Studio 2019 (16.0) PPTX
PDF
boost::shared_ptr tutorial PPT
shared_ptr & weak_ptr (ppt 第2版, DL 専用) PPTX
最新C++事情 C++14-C++20 (2018年10月) PDF
中3女子が狂える本当に気持ちのいい constexpr KEY
PDF
競技プログラミングにおけるコードの書き方とその利便性 PDF
PDF
PHPとJavaScriptにおけるオブジェクト指向を比較する PPTX
PDF
PDF
Similar to Unique ptr の紹介
PDF
unique_ptrにポインタ以外のものを持たせるとき PPT
shared_ptr & weak_ptr (ppt 初版, DL 専用) PPTX
PDF
PPTX
PDF
Effective Modern C++ Item 7&8 PDF
PDF
PDF
PDF
PDF
PPTX
Boost.PropertyMap (.pptx) PDF
PDF
PDF
PDF
C++0x in programming competition PDF
PDF
PDF
PDF
More from Daisuke Nikura
ODP
PPTX
PPT
PPT
PPT
PDF
PPT
TwitterのBasic認証が今度こそ終わります PPT
PPTX
PPT
Unique ptr の紹介
- 1.
- 2.
- 3.
- 4.
C++0x って?今年 FCDが承認された C++ の新標準規格現行の規格とほぼ100%の互換性を持つGCC ( GNU Compiler Collection )Microsoft Visual C++などがすでに対応を始めている2010/8/29unique_ptr の紹介3 - 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
なんで?new - > deletenew [] - > delete []どうやって区別してるの.....2010/8/29unique_ptr の紹介17 - 19.
- 20.
std::default_delete2010/8/29unique_ptr の紹介19namespace std{ template< class T > // 通常struct default_delete { void operator()( T* ptr ) const { delete ptr; }; }; template< class T > // 配列struct default_delete< T[] > { void operator()( T* ptr ) const { delete [] ptr; }; };} // namespace std; - 21.
- 22.
- 23.
- 24.
- 25.
特殊ケース(例. HANDLE 型)typedef void* HANDLE;といった通常使う型が元々ポインタだったら?2010/8/29unique_ptr の紹介24std::unique_ptr< HANDLE, handle_deleter > ptr( CreateEvent( NULL, FALSE, FALSE, NULL ) );#=> Error! 'コンストラクタのインスタンスと引数が一致しません' - 26.
- 27.
- 28.
- 29.
- 30.
- 31.
関数の戻り値には move が働く2010/8/29unique_ptrの紹介30std::unique_ptr<hoge> create_instance();std::unique_ptr<hoge> ptr = create_instance(); // 自動的に move が働いてポインタが移動されるptr->func();// 自動的に削除, delete ptr; なんて書かなくて済む - 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.