自定义类型转换。------------lq2.10.dev
// #include<string>
#include<sstream> //stringstream通常是用来做数据转换的。
//相比c库的转换,它更加安全,自动和直接。
string int2str(int &i){
string s;
stringstream ss(s);
ss<<i;
return ss.str();
}
你可以轻松地定义函数模板来将一个任意的类型转换到特定的目标类型。例如,需要将各种数字值,如int、long、double等等转换成字符串,要使用以一个string类型和一个任意值t为参数的to_string()函数。to_string()函数将t转换为字符串并写入result中。使用str()成员函数来获取流内部缓冲的一份拷贝:
template<class T>
void to_string(string & result,const T& t)
{
ostringstream oss;//创建一个流
oss<<t;//把值传递如流中
result=oss.str();//获取转换后的字符转并将其写入result
}
这样,你就可以轻松地将多种数值转换成字符串了:
to_string(s1,10.5);//double到string
to_string(s2,123);//int到string
to_string(s3,true);//bool到string
转自 https://blog.youkuaiyun.com/xiaogugood/article/details/21447431