コンテナーに共有ポインターと生のポインターを同時に設定する必要があります。
no-op deleter と no-op (de)allocator で構築された場合、 のshared_ptr<T>
ように動作することを余儀なくされる可能性があると思いますか?T*
それとも、さまざまな (スマートおよび生の) ポインター型にバインドするユニバーサル スマート ポインターがあるのでしょうか?
またはshared_ptr
、あるオブジェクトを指すことができますが、同じタイプの別の (nullptr) オブジェクトの有効期間を管理できますか?
バックグラウンド。私は単純なコンポーネントシステムを持っています。一部のコンポーネントは組み込みで、管理は不要です。生のポインターで十分です。他のコンポーネントは外部 DLL であり、要求されたときにアタッチされ、「セッション」から削除されたときにデタッチされる必要があります。後者については、破棄時に DLL をデタッチするラッパー コンポーネントを使用しています。
編集:背景が更新されました。
EDIT2:質問が更新されました。
EDIT3:まっすぐな解決策が見つかりました。興味があれば私の答えを見てください。