持久化需要在C++中初始化的全局数据

Persisting global data that needs initialising in C++

本文关键字:初始化 全局 数据 C++ 持久化      更新时间:2023-10-16

我在dll中有一个全局用户定义的类型"foo",它负责创建和删除计数为HINSTANCE的引用。问题是它需要由dll上调用的函数用字符串初始化。

我做这件事的最佳选择是什么?一个函数如何创建一个全局的"foo",并在多个函数调用中使用有效的HINSTANCE持久存在。感谢

您可以使用singleton:

class CFoo
{
public:
  static CFoo* m_instance;
  static CFoo* GetInstance()
  {
      if(!m_instance)
      {
          m_instance = new CFoo();
      }
      return m_instance;
  }
private:
  CFoo();
};