模板——函数模板

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27305031/article/details/54314223
  1. 模板是实现代码重用的一种工具,实现类型参数化,即把类型定义为参数,从而实现代码的重用。模板分为函数模板和类模板,分别允许用户构造模板函数和模板类。
  2. 函数模板:建立一个通用函数,其函数返回类型和形参类型不具体的指定,用一个虚拟的类型来替代。
    这里写图片描述
    关键字typename后面的类型参数必须实例话,用实际的类型来替代它。

  3. 函数模板提供了一类函数的抽象,函数模板通过实例化后生成具体函数的函数模板,函数模板代表了一类函数,模板函数表示某一具体的函数。

  4. 注意
    (1)模板中允许使用多个类型的参数,但是template定义部分的每个参数必须有关键字class或者typename
    (2)在template语句和函数模板定义语句之间不允许有别的语句;
    (3)模板函数类似与重载函数,但是更加严格,实例化后只能执行相同的操作。
    (4)同一般函数一样,函数模板也可以重载
    这里写图片描述
    (5)函数模板和同名的非模板函数可以重载。在这种情况下调用的顺序是找到一个参数完全匹配的非模板函数,找到就调用;若没有找到,就寻找模板函数,将其实例化,寻找一个匹配的模板函数。

猜你喜欢

转载自blog.csdn.net/qq_27305031/article/details/54314223