0からの、超初心者C++相談室at TECH0からの、超初心者C++相談室 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト503:デフォルトの名無しさん 23/07/13 21:30:08.90 BEK5Ztwm.net >>502 ありがとうございます。実体とイテレータ、参考になります。 おかげで解放時何とかshared_ptrで引数を渡そうとしてましたが、諦めて実体でもいいんではと思い始めました。 回答を見るまでは、shared_ptr<shared_ptr<X>>なら解放時にshared_ptr<X>取れるじゃん、 修正とか色々めんどくさいけど、とかアホなこと考えてました。 処理の概略はshared_ptr側で値管理、コンテナ側は登録されたweak_ptrの値と別の値が合致したら処理、 shared_ptr側解放時コンテナ側から登録抹消(抹消関数の引数にshared_ptr:これがNG)というものです。 504:デフォルトの名無しさん 23/07/16 13:37:45.84 aonKa36p.net 設計意図次第 505:504 23/07/16 21:29:25.31 AcIm+utR.net 何でかshared_ptrって派生出来ないと思い込んでたけど出来た。 shared_ptrで出来ない理由は分からんが、他に変な問題が無ければほぼ当初の想定通り。 ありがとうありがとう。 template<class T> struct X : public std::shared_ptr<T> { X(T* t) : std::shared_ptr<T>(t){} ~X(){/*X自体の登録抹消*/} }; 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch