C++相談室 part95at TECH
C++相談室 part95 - 暇つぶし2ch638:デフォルトの名無しさん
12/06/05 19:33:33.75
>>637
new A()実行後にunique_ptrに渡される前にnew B()が呼ばれ
Bのコンストラクタが例外を出すとAは解放されない
並列関係を超えない場合はnew A()の結果が必ずunique_ptrに渡されるので、
その後Bが例外を出してもunique_ptrのデストラクタで例外安全は保たれる

↓はshared_ptrでの例、C++11/unique_ptrでも同様
URLリンク(www.boost.org)
>Avoid using unnamed shared_ptr temporaries to save typing; to see why this is dangerous
>void bad()
>{
>  f(shared_ptr<int>(new int(2)), g());
>}

関数の引数で無名スマポを作ってはいけないという話


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch