与谷歌的帮助下,我做了一个单身日志类是:Singleton模式的解释
class Log{
public:
void Initialize(const char* fileName, int logLevel, ...);
void outString(const char* str, ...);
void outError(const char* str, ...);
void outWarning(const char* str, ...);
static Log* GetInstance()
{
if (!m_instance)
m_instance = new Log();
return m_instance;
}
private:
Log() {}
Log(const Log&);
Log& operator=(const Log&);
private:
static Log *m_instance;
void SetColor(bool stdout_stream, Color color);
string getCurrentTime();
void ResetColor(bool stdout_stream);
int m_logLevel;
ofstream *m_file;
};
现在我想知道的是*这里什么:静态日志* m_instance;为什么我们将其设置为指针?我不太明白。我的意思是,它指向什么?
在这个神秘的'*'的声明上面看上面的8行... – Mario
请注意这个单例不是线程安全的,如果这对你很重要,那么你会改变一些东西。 –