在增加日志输出的过程中,经常需要用到snprintf,sprintf,等格式化串的函数,各种类型都需要显示的标记在格式化串中。
有些不方便,有没有什么办法能统一呢?
template<typename T>
std::string ToString(T v)
{
std::ostringstream oss;
oss << v;
return oss.str();
}
用模板类型代替传入的类型,然后通过字符串流输入模板类型,将数据格式化到字符串流oss中。
当然这里有个前提是这个类型重载了<<运算符