template<typename TO, typename FROM>
TO cast( const FROM& from )
{
    stringstream ss;
    ss << from;
 
    TO result;
    ss >> result;
 
    assert(!ss.fail() && !ss.bad() && ss.eof());
    if( ss.fail() || ss.bad() || !ss.eof() )
    {
        ⁄⁄ error
    }
 
    return result;
}
사용방법
cout << cast<int, string>("123") << endl;
cout << cast<string, float>(12.3) << endl;
by 炫's 2013. 1. 30. 15:28