强大的C++模板编程,任意类型间轻松转换

原创 2012年03月22日 11:30:40
#include <sstream>
#include <string>
template<class T> //任意类型转字符型
void my_tostring(std::wstring & result, const T& type)
{
	std::wstringstream oss;
	oss<<type;
	result = oss.str();
}
template<class out_type, class in_value> //任意类型转任意类型
out_type my_convert(const in_value &type)
{
	std::stringstream stream;
	stream<<type;
	out_type result;
	stream>>result;
	return result;
}

	std::wstring rtstr;

	my_tostring(rtstr,11.5);

	int reti = my_convert<int>("150");

相关文章推荐

Effective C++第七章-模板和泛型编程之需要类型转换时请为模板定义非成员函数

需要类型转换时请为模板定义非成员函数在条款24中,class Rational { public: const int numerator() const {return n;} co...
  • mlyjqx
  • mlyjqx
  • 2017年07月19日 09:14
  • 136

用C++的模板类定义一个万能数组,数组元素类型任意,数组大小也任意

/*用模版类实现一个万能数组,数组类型可以任意给定,数组大小可以任意给定*/ /* 函数调用 typeid(变量).name() 获取变量的类型名 */ #include using n...

《Effective C++》读书笔记之item46:需要类型转换时请为模板定义非成员函数

1.在类外定义的模板函数,在实参具现化时不进行隐式类型转换:可以在函数调用过程中进行这样的转换,但是在能够调用一个函数之前,编译器必须知道那个函数存在,而为了知道它,必须先为相关的函数模板具现化参数类...

CImg 介绍:简洁、高效、强大、酷毙的C++ 图像处理模板库

CImg 库是一个免费、开源的图像处理C++库,名称原意是 Cool Image,正如其名,CImg是一个非常优秀、功能强大、代码简洁、使用方便的C++ 图像处理库。它不仅非常适合科学家、研究生做科研...

java并发编程--Executor框架(一) 摘要: Eexecutor作为灵活且强大的异步执行框架,其支持多种不同类型的任务执行策略,提供了一种标准的方法将任务的提交过程和执行过程

java并发编程--Executor框架(一) 摘要:        Eexecutor作为灵活且强大的异步执行框架,其支持多种不同类型的任务执行策略,提供了一种标准的方法将任...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:强大的C++模板编程,任意类型间轻松转换
举报原因:
原因补充:

(最多只允许输入30个字)