c++函数模板参数推到

写在前面:

函数模板可以推导参数类型;
根据此类型可设定类模板的参数类型。
该技术大量应用于STL的函数对象的创建

类模板参数的隐式推导。
【目标是用模板函数创建一个类对象,其间可根据函数的参数类型设定类模板的参数类型。】

template<typename T>
class A
{
public:
 A(T a){}
 void fun(){}
};

template<typename T>
A<T> makefun( T x)
{
 return A<T>(x);
}
//使用
makefun( 1 ).fun();

这里在使用模板函数的时候并没有给出模板参数只是正常的调用这个函数,通过传递参数的类型为int,编译器会自动的判别T为int类型将所有的T都替换成int。

下面这段说的很精彩:
http://blog.csdn.net/shinehoo/article/details/5722362

猜你喜欢

转载自blog.csdn.net/zhc_24/article/details/78987515