前景:在写Qt桌面应用时,有一个场景是TabWidget管理四个子窗口,每个子窗口都只能有一个实例方便窗口的切换,自然而然就想到要用
singleton-pattern
,我应用时能正常启动,但是关闭main window的时候每次都弹出_CrtIsValidHeapPointer(block) …
既然是关闭窗口的时候弹出的错误,那么肯定是main window
析构的时候发生了错误,根据错误信息也能知道是堆内存中出错了。
当时我的单例模式是这么写的(参考了scott meyers的版本):
class ConfParas : public QWidget
{
Q_OBJECT
public:
static ConfParas* getInstance()
{
static ConfParas theConfParas;
return &theConfParas;
}
explicit ConfParas(QWidget *parent = 0);
ConfParas(