1
私はそのコンストラクタで共有ポインタを受け取り、それを弱ポインタに格納するクラスを持っていますが、この変換をどのように(そしてどこで)行うべきかはわかりません。shared_ptrを受け取るクラスコンストラクタでweak_ptrをどのように初期化する必要がありますか?
class A {
public:
A(std::shared_ptr<B> Bptr);
private:
std::weak_ptr<B> m_Bptr;
};
shared_ptr
をコンストラクタに渡す前に変換する必要がありますか?
予想通り、このA(std::shared_ptr<B> Bptr) : m_Bptr(Bptr) { }
作品のように、初期化リストをweak_ptr
からshared_ptr
を渡すか、私は明示的にコンストラクタの体内で変換する必要がありますか?
コンストラクタの実行中にオブジェクトをアクティブに保つ必要がありますか?なぜあなたは 'shared_ptr'を参照渡ししていませんか? –
@DavidSchwartz私はこれに焦点を当てていませんでしたが、私はそれを参考にしてはならない理由はありません。ヘッドアップをありがとう! –