//在程序运行的时候经常需要显示调试信息,标准c中经常使用
//printf和spritf,还有MFC中的TRACE函数,
//都是要自己写格式字符串,特别是
//sprintf还要自己建缓冲区等,因此可以用标准c++的
//stringstream 和模板来构建无需格式字符串的函数,
//并且可以自行进行扩充的
#include <sstream>
template <class a>
std::string make_str(a pa)
{
std::string ret;
stringstream ls;
ls << pa << endl;
ret = ls.str();
return ret;
}
template <class a, class b>
std::string make_str(a pa, b pb)
{
std::string ret;
stringstream ls;
ls << pa << " " << pb << endl;
ret = ls.str();
return ret;
}
template <class a, class b,class c>
std::string make_str(a pa, b pb,c pc)
{
std::string ret;
stringstream ls;
ls << pa << " " << pb << " " << pc << endl;
ret = ls.str();
return ret;
}
//可以按需要扩充
//用起来可以这样
cout << make_str("当前记数", 100).c_str();