用到了c++的标准库与模板,先给个初始版本,模板重载还没有学精通
c++实现 vs2010下可以跑通
//代码还是有冗余的,两个模板可以合成一个的,抽空再改,或者你们自己改
#include<iostream>
#include<sstream>
using namespace std;
template<class out_type,class in_value>
out_type convert(const in_value & t)
{
stringstream str;
str<<t;
out_type result;
str>>result;
return result;
}
template<class out_type,class in_value>
out_type convert(const in_value & t,bool bISWSring) //转wchar,wstring要用到这个
{
wstringstream str;
str<<t;
out_type result;
str>>result;
return result;
}
int main()
{
double d;
string str1;
string s="-12.34";
d=convert<double>(s);
cout<<d<<endl;
str1=convert<string>(9000.0);
cout<<str1<<endl;
int c;
c=convert<int>(s);
cout<<c<<endl;
wstring str3;
str3=convert<wstring>(5,1);
wcout<<str3<<endl;
return 0;
}