标签:span 单例模式 模式 指针 思想 null cout code 问题:
以前在项目中使用单例模式时,喜欢使用静态指针实现,但是需要在程序结束时释放指针的内容,不然会造成内存泄漏,代码如下:
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; }
一切伟大的思想和行动都有一个微不足道的开始。
标签:span 单例模式 模式 指针 思想 null cout code 问题:
原文地址:http://www.cnblogs.com/zhanghang-BadCoder/p/7057993.html