gpt4 book ai didi

C++:重复的静态成员?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:03:44 26 4
gpt4 key购买 nike

我有一个类需要是一个单例。它使用静态成员指针实现:

class MySinglton
{
public:
static MySinglton& instance() { ... }
private:
static MySinglton* m_inst;
};

这个类被编译成一个.lib,用于同一个应用程序中的多个dll。问题是每个 dll 看到不同的 m_inst。因为它是分开编译和链接的。

解决这个问题的简单方法是什么?

将 .lib 分离到它自己的 dll 不是一个选项。它必须是一个 .lib。

最佳答案

解决该问题的一种方法是创建共享内存,并在共享内存中创建对象。这两个模块仍然有两个指针拷贝,但它们指向相同的位置,即对象的相同实例。

关于C++:重复的静态成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1880052/

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