《C++primer》读书笔记1——第十章 函数模板

函数模板(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

Type min(Type a,Type b){

return a < b ? a : b;

}

 

你可能感兴趣的:(读书笔记)