RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:9:30-18:00
你可能遇到了下面的问题
关闭右侧工具栏
《C++primer》读书笔记1——第十章 函数模板
  • 作者:zhaozj
  • 发表时间:2020-12-23 11:00
  • 来源:未知

函数模板(function template)

 强类型语言在某些时候对于实现相对简单的函数似乎是个障碍。例如,对下面的函数min()的算法很简单,但是强类型语言要求我们为所有希望比较的类型都实现一个实例:

int min(int a , int b){

return a < b ? a : b;

}

 

 double min(double a ,double b){

 return a < b ? a : b;

}

使用宏扩展#define min(a,b) ((a) < (b) ? (a) : (b))并不能解决这个问题,虽然当前没有问题,但是在复杂的场合下会出毛病。只有函数模板可以完美的解决这个问题。用法如下:

template <class Type>

Type min(Type a,Type b){

return a < b ? a : b;

}