C++ 基础类型万能转换器

你可能还在使用atoi、atof、itoa等函数进行类型转换,赶紧看过来,用一个函数,解决所有支持io流类型的转换。

//基础类型转换
template::value, int>::type N = 0>
OUT Convert(const IN& val)
{
	std::stringstream ss;
	ss << val;//向流中传值
	OUT result;//这里存储转换结果
	ss >> result;//向result中写入值
	return result;
}

//输入、输出类型一致
template::value, int>::type N = 0>
OUT Convert(const IN& val)
{
    std::cout << "same" << std::endl;
	return val;
}

测试代码:

int main()
{
    std::cout << Convert("123") << std::endl;

    std::cout << Convert(567) << std::endl;

    std::string str = "789.45";
    std::cout << Convert(str) << std::endl;

     std::cout << Convert(46.89) << std::endl;
    return 0;
}

你可能感兴趣的:(C++,类型转换)