//在程序運(yùn)行的時(shí)候經(jīng)常需要顯示調(diào)試信息,標(biāo)準(zhǔn)c中經(jīng)常使用
//printf和spritf,還有MFC中的TRACE函數(shù),
//都是要自己寫格式字符串,特別是
//sprintf還要自己建緩沖區(qū)等,因此可以用標(biāo)準(zhǔn)c++的
//stringstream 和模板來構(gòu)建無需格式字符串的函數(shù),
//并且可以自行進(jìn)行擴(kuò)充的
#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;
}
//可以按需要擴(kuò)充
//用起來可以這樣
cout << make_str("當(dāng)前記數(shù)", 100).c_str();