【C++】模板

模板

  • 模板是一种参数化的多态性工具

参数化多态性是指将程序所处理的对象的类型参数化,是一段程序代码可以用于处理多种不同类型的对象

  • 模板是一种使用无类型参数来产生一族函数或类的机制

参数化是指模板不以数据为参数,而是以数据类型作为参数

  • 模板通过参数实例化构建具体的函数或类,即模板函数和模板类

函数模板

  • 格式:template <模板形参表>

      返回值类型 函数名(参数表)

      {

        函数体;

      }

模板形参表:多个参数项用逗号隔开,每一项由关键字 class 或 typename 引导一个用户命名标识符,此标识符即是一种数据类型

  • 注意:<模板形参表>中的每个模板参数都必须在(参数表)中得到使用,(参数表)至少有一个参数说明,且在函数体中至少使用一次

函数模板实例化为模板函数

类模板

  • 格式:template <模板形参表>

      class 类模板名

      {

        成员声明;

      }

  • 注意:<模板形参表>中的每一参数项在类的说明中至少使用一次

      类模板的成员函数必须是函数模板

类模板成员函数类外实现格式

  template <模板形参表>

  返回值类型  类模板名  类型名表::成员函数名(参数表)

  {

·    成员函数体;

  }

类型名表即类模板定义中<模板参数表>中的参数名

类模板实例化模板类格式

  类模板名 <实际类型>;

模板类定义对象格式

  类模板名 <实际类型> 对象名(实参表);

原文地址:https://www.cnblogs.com/skullboyer/p/13390194.html