gpt4 book ai didi

c++ - 指向所有者类的指针

转载 作者:太空宇宙 更新时间:2023-11-04 14:02:33 25 4
gpt4 key购买 nike

授予一个类,该类根据自己的类型管理其子级,每个子级都有一个返回其父级的指针。

class Class {
std::array<std::shared_ptr<Class>, 4> children;
std::weak_ptr<Class> parent;
}

weak_ptr,就像上面的代码一样,不起作用,因为它必须通过共享 ptr 进行初始化。

void initChild() {
subtrees[0] = std::make_shared<Class>(std::shared_ptr<Class>(this));
}

这显然会删除 this 并导致错误。

是否有可能在不使用原始 指针 的情况下对父对象进行弱引用,或者这是唯一的选择吗?

最佳答案

如果您使用父指针作为可观察成员(即不是必须分配/销毁的东西),原始指针是唯一的方法。

关于c++ - 指向所有者类的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18563919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com