- 900 名前:デフォルトの名無しさん [2024/08/12(月) 08:49:28.44 ID:+jMHtzbv.net]
- 既に寿命が切れてる場合はlock() が無効な shared_ptr を返すのでそれで判定する
lock() を呼んだ後は戻り値の shared_ptr が寿命を伸ばすので問題ない shared_ptrは「有効なshared_ptrが1つ以上ある間はオブジェクトの寿命が消えない」ものなので、lock() が返すshared_ptrを保持してる間は消えないよ lockを「weak_ptrからshared_ptrへの昇格を試みる」ものと考えても良い lockしたい箇所の時点で必ずオブジェクトが生きていて欲しいなら、それはweak_ptrでなくshared_ptrを使うべき
|

|