與谷歌的幫助下,我做了一個單身日誌類是: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
請注意這個單例不是線程安全的,如果這對你很重要,那麼你會改變一些東西。 –