我可以将以下代码简化为一个函数吗?其中大部分是相同的。谢谢
void info(StreamLog &streamLog)
{
streamLog.ss << "info:";
streamLog.mFilter->setLogLevel("info");
}
void debug(StreamLog &streamLog)
{
streamLog.ss << "debug:";
streamLog.mFilter->setLogLevel("debug");
}
void warning(StreamLog &streamLog)
{
streamLog.ss << "warning:";
streamLog.mFilter->setLogLevel("warning");
}
void error(StreamLog &streamLog)
{
streamLog.ss << "error:";
streamLog.mFilter->setLogLevel("error");
}
void critical(StreamLog &streamLog)
{
streamLog.ss << "critical:";
streamLog.mFilter->setLogLevel("critical");
}
如果您需要更多信息,请告诉我
第一次编辑:
对不起!我没有清楚说明我的情况。我将那些功能用作操纵器。因此,我可以做
堵塞<
堵塞<
我不想用
堵塞<
还有更好的方法吗?谢谢
最佳答案
void log(StreamLog &streamLog, const string& level)
{
streamLog.ss << level << ":";
streamLog.mFilter->setLogLevel(level);
}
始终尝试查看通用操作并将其抽象为其他功能。
关于c++ - 减少C++中的代码重复,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19582523/