模板推导
指针或者引用(不为通用引用)
多退少补
为引用时
- 如果传入参数是引用则忽略引用部分,其他部分照常处理
template<typename T>
void f(T& param);
int x = 27;
const int cx = x;
const int& rx = x;
f(x);//T->int,param->int
f(cx);//T->const int,param->const int
f(rx);//T->const int,param->const int &
为指针时
- 如果传入参数是指针则忽略指针部分
template<typename T>
void f(T* param