单例类崩溃
Singleton class crashes
Iv'e实现了一个看起来像这样的单例类:
H 文件:
class MySingleton
{
public:
static MySingleton& GetInstance();
private:
MySingleton();
virtual ~MySingleton();
std::map<MyStruct, PointerToClass*, MyCompareStruct> mMyMap;
CRITICAL_SECTION mMyMapCriticalSection;
};
CPP 文件:
MySingleton& MySingleton::GetInstance()
{
static MySingleton instance;
return instance;
}
在某些运行中,我的代码在实例初始化时崩溃:
static MySingleton instance;
我在实施中做错了什么吗?我正在开发Visual Studio 2015
在 stdlib 完全初始化之前,可能会崩溃的 'std::map' 初始化。
如果从另一个静态初始值设定项调用GetInstance()
,则会发生这种情况。初始化顺序不是在不同库之间定义的。
解决方案是在调用 main 之前不要构造非 POD 的东西。
相关文章:
- C++ 实现模板单例类时出现链接错误
- 具有非默认构造函数的单例类
- 单例类析构函数无法清理 (SDL_Quit) MinGW
- 如何在单例类中管理变量状态?
- 访问单例类C++时出现问题
- 基于 IOKit 的 kext 驱动程序中的单例类
- 指向抽象模板单例类的指针向量C++?
- C++在单例类中创建类实例时遇到困难
- 如果我这样写,我的单例类会导致什么错误
- 这是一个有效的单例类吗?
- 函数内具有静态变量的单例类(迈耶实现)
- 继承的模板化单例类 c++ 中未定义的构造函数
- 为什么调用单例类 Qt 消息处理程序成员函数会出现错误:缺少参数列表
- C++:单例类设计(错误:未解析的外部符号)
- 构造函数在不同线程中的静态单例类上调用两次
- 如何在自定义单例类中使用log4cplus
- 为什么在C 中创建单例类创建期间静态函数参考静态变量
- 如何在静态单例类中以编程方式从exec方法返回
- 单例类崩溃
- lua绑定的单例类在析构函数中崩溃