HOMELv028 `std::weak_ptr` が管理対象にアクセスするために `lock()` を呼ぶ必要がある理由は何か。 2026年3月4日 lock()は対象が存在すればshared_ptrを生成し、その間は確実に生存を保証する。 `std::unique_ptr` において、現在の保持ポインタを別のものに入れ替えるメソッドはどれか。 `std::shared_ptr` を引数で渡す際、所有権を共有しない(参照するだけ)場合の最適な型は。