独自の型から子を管理するクラスが付与され、各子はその親に戻るポインターを持ちます。
class Class {
std::array<std::shared_ptr<Class>, 4> children;
std::weak_ptr<Class> parent;
}
上記のコードのようなAweak_ptr
は、共有 ptr を介して初期化する必要があるため、機能しません。
void initChild() {
subtrees[0] = std::make_shared<Class>(std::shared_ptr<Class>(this));
}
これは明らかに削除this
され、エラーになります。
raw を使用せずに親への弱い参照を持つ可能性はありpointers
ますか、それが唯一の選択肢でしょうか?