首页 > 代码库 > C++单例模式
C++单例模式
以前在项目中使用单例模式时,喜欢使用静态指针实现,但是需要在程序结束时释放指针的内容,不然会造成内存泄漏,代码如下:
Log& Log::instance() { if(NULL == ms_log) { static Log ms_log = new Log("./log.txt"); if(!ms_log->m_logout.good()) { std::cout << "log file \"./log.txt\"" << std::endl; } } return *ms_log; }
今天发现可以使用静态对象来避免这个问题:
Log& Log::instance() { static Log slog("./log.txt"); if(!slog.m_logout.good()) { std::cout << "log file \"./log.txt\"" << std::endl; } return slog; }
一切伟大的思想和行动都有一个微不足道的开始。
C++单例模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。