因为需要每行日志输出都需要有日志头显示日期文件等信息。重载过后发现,使用Clog<<I<<j,输出导致每出现一次<<就会打印一次日志头,怎么破?
operator <<() 是个函数,函数当中没有办法判断位置,在什么位置调用输出日期,在什么位置不输出日期,只能讲输出做成一个函数才行。类似
printf 这样的函数
我们一般用的LOG, 这是直接调用的.#define INFO_LOG(s, d...) LogWrite::SendLog(INFO_LEVEL, FILE, LINE, s, ##d);
LogWrite::SendLog(INFO_LEVEL, FILE, LINE, s, ##d) 调用 m_LogWriter->Print(level,"%s [%s:%d]", msg, szFileName, line);
日志还要自动切换日期等等....
公司不是一般不太推荐运算符重载这种做法么.