最近我偶然发现了C++的Singleton设计模式的实现/实现。它看起来像这样(我从现实生活中的例子中采用了它):
// a lot of methods are omitted hereclass Singleton{public:static Singleton* getInstance( );~Singleton( );private:Singleton( );static Singleton* instance;};
从这个声明中,我可以推断出实例字段是在堆上启动的。这意味着有内存分配。我完全不清楚的是内存到底什么时候会被释放?或者是否有bug和内存泄漏?似乎是实现有问题。
我的主要问题是,如何以正确的方式实现它?