代码拉取完成,页面将自动刷新
#include <iostream>
using namespace std;
class Singleton
{
private:
Singleton()
{
cout << "sluggard singleton construct start." << endl;
}
public:
static Singleton *getInstance(void)
{
return m_psl;
}
static void FreeInstance()
{
if(NULL != m_psl)
{
delete m_psl;
m_psl = NULL;
}
}
private:
static Singleton *m_psl;
};
// 静态变量初始化的方法,要放到类的外面
// 饿汉式是在初始化指变量的时候就对其进行创建,不管是否被调用
Singleton *Singleton::m_psl = new Singleton;
int main(int argc, char const *argv[])
{
// 使用功能去全局获取接口获取资源
Singleton *p1 = Singleton::getInstance();
Singleton *p2 = Singleton::getInstance();
if(p1 == p2)
{
cout << "p1 equal p2" << endl;
}
else
{
cout << "p1 not equal p2" << endl;
}
// 手动释放单例模式创建的唯一一个对象
Singleton::FreeInstance();
cout << "hungry singleton." << endl;
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。