利用模板实现IfThenElse,选择参数类型

在模板开发中,有时需要根据实际选择函数返回值的类型,特别是在类型需要提升的情况下。

下面提供从两个参数类型中选择其中一个类型的模板类,采用了基本模板和局部特化技术实现。其实现如下:

//base template
template
struct IfThenElse;

//local specialization template
template
struct IfThenElse
{
	typedef T1 ResultT;
};

//local specialization template
template
struct IfThenElse
{
	typedef T2 ResultT;
};

 

你可能感兴趣的:(C/C++,编码)