好的,这个问题实际上不应该很难解决,但是尝试了几次后,我没有找到任何解决方案。
如何在一行中将格式化字符串传递给函数? 我想要一个简单的方法,可以用于日志记录/调试等目的,类似于以下内容:
void debug(string s){
if (DEBUG) cerr << s;
}
我希望能够向此函数发送格式化的字符串,例如:
debug("reading %s" % fname);
我的主要目标是尽可能多地将功能放在调试方法中,以便每当我想将东西写入stderr时,能够使生活更加轻松。
printf解决方案似乎需要大量代码来进行简单的格式化,并且boost :: format似乎返回一些模糊的类型,如果不始终包括一些.str()内容,则无法轻松地用作参数。
我是不是太懒了,不适合成为C ++程序员,还是有一种巧妙的方法来实现这个目标,我还没有发现?