模板实参推演

发布时间:2012-9-10 00:29
分类名称:C++


当函数模板被调用时对函数实参类型的检查决定了模板实参的类型和值这个过程被称为模板实参推演(template argument deduction)。

要想成功地进行模板实参推演函数实参的类型不一定要严格匹配相应函数参数的类型

下列三种类型转换是允许的:

  1. 左值转换
  1. 限定转换(const/volatile)
  2. 到一个基类(该基类根据一个类模板实例化而来)的转换

 

也就是说,编译器在模板推演之前,先进行上述转换,然后再推演。