c

饿汉单例模式

饿汉:饿了肯定要饥不择食。所以在单例类定义的时候就进行实例化。在访问量比较大,或者可能访问的线程比较多时,采用饿汉实现,可以实现更好的性能。这是以空间换时间。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class singleton
{
public:
static singleton* getinstance();
private:
singleton() {}
singleton(const singleton& obj) = delete;
singleton& operator=(const singleton& obj) = delete;
static singleton* m_ptr;
}

singleton::m_ptr = new singleton();
singleton* singleton::getinstance()
{
return m_ptr;
}