gpt4 book ai didi

c++ - 如何从此指针获取 std::weak_ptr

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:59:34 27 4
gpt4 key购买 nike

例子如下:

tempalate <class T> class MyClass : public T {
public:
MyClass(std::weak_ptr<MyClass> parent) {
//--------------------------------------+
// |
// V
auto child = std::make_shared<MyClass>(this);
}
};

该怎么做?如果我需要导出 MyClass来自 std::enable_shared_from_this<MyClass<T>> ,我如何在没有多重继承的情况下做到这一点,因为MyClass已经派生自另一个 T祖先,我需要调用shared_from_this()在构造函数上?

以我为例 T可能是从 enable_shared_from_this<T> 继承的某个类, 但并不总是

最佳答案

std::enable_shared_from_this 没有继承自T,所以这里没有问题。

您不需要在 CTor 中调用 shared_from_this,当您有 this 并且需要相应的 shared_ptr 时,您会调用它。

关于c++ - 如何从此指针获取 std::weak_ptr<MyClass> ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11281478/

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