gpt4 book ai didi

c++ - 模板交叉继承

转载 作者:行者123 更新时间:2023-11-28 05:55:40 25 4
gpt4 key购买 nike

当我发现这个时,我正在使用其他人制作的一些代码:

template<typename T>
class Singleton {
public:
Singleton ( void );
~ Singleton ( );

...
};


class Manager: public Singleton<Manager> {

public:
Manager();
~Manager();
...
}

我知道菱形继承(钻石问题),这让我想起了它。为了避免泄漏,有什么我应该检查的吗?析构函数调用会产生一些问题吗?

最佳答案

不要认为析构函数调用会产生任何问题。 ~Manager将调用 ~singleton<Manager> .单例必须有指向 Manager 的唯一实例的指针应将其取消初始化设置为 nullptr~singleton<Manager>仅在销毁时Manager实例。这样一来,如果有人试图访问 Manager 的单个实例之后,将在释放较早的 Manager 实例后获得更新的实例。

关于c++ - 模板交叉继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34198057/

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