c++单例模式设计
2024-10-22 05:06:39
class singleClass
{
public:
static singleClass* getInstance()
{
//双判断保证在多线程下不会每次getInstance都加锁
if(!m_instance)
{
std::unique_lock<std::mutex> myMutex(resoure_mutex);
if(!m_stance)
{
m_instance = new singleClass();
//定义一个静态变量,以达到析构singleClass单例的作用
static GcSingle gc;
}
return m_instance;
}
}
//类中类,辅助删除单例用
class Gcsingle{
public:
~Gcsingle(){
if(singleClass::m_instance){
delete singleClass::m_instance;
singleClass::m_instance=NULL;
}
}
};
private:
//私有构造
singleClass(){}
static singleClass* m_instance;
};
singleClass* singleClass::m_instance=NULL;
使用:
singleClass* p_single = singleClass::getInstance();
最新文章
- SQL Server数据库sql语句生成器(SqlDataToScript)的使用(sql server自增列(id)插入固定值)
- IntelliJ IDEA 教程设置讲解
- jquery用append添加按钮之后,按钮监听无法使用的解决方法
- SQL:将字符串以特定字符分割并返回Table
- Struts2文件上传(基于表单的文件上传)
- URL、表单数据、IP等处理类
- sql面向过程用法
- 《C和指针》 读书笔记 -- 第11章 动态内存分配
- Android_sharePreference
- Apache kafka 工作原理介绍
- scrapy_开发环境
- Java自定义注解的实现
- React组件性能调优
- 【11.9校内测试】【倒计时1天】【ak欢乐赛】【多项式计算模拟】
- Uniform Resource Name Server
- possible error
- Pusher 消息推送测试工具
- 2017 Multi-University Training Contest - Team 4 hdu6071 Lazy Running
- 关于JavaScript的沙箱模式
- React16版本的新特性