一、函数模板

所谓函数模板,实际上是建立一个通用函数,它所用到的数据的类型(包括返回值类型、形参类型、局部变量类型)可以不具体指定,而是用一个虚拟的类型来代替(实际上是用一个标识符来占位),等发生函数调用时再根据传入的实参来逆推出真正的类型。这个通用函数就称为函数模板(Function Template)。

在函数模板中,数据的值和类型都被参数化了,发生函数调用时编译器会根据传入的实参来推演形参的值和类型。换个角度说,函数模板除了支持值的参数化,还支持类型的参数化。

函数模板定义
template <typename 类型参数1 , typename 类型参数2 , …> 返回值类型 函数名(形参列表){
//在函数体中可以使用类型参数
}

二、类模板

1.声明类模板的语法的定义
template<typename 类型参数1 , typename 类型参数2 , …> class 类名{
//TODO:
};
C++ 模板

一但声明了类模板,就可以将类型参数用于类的成员函数和成员变量了。换句话说,原来使用 int、float、char 等内置类型的地方,都可以用类型参数来代替。

注意:模板头和类头是一个整体,可以换行,但是中间不能有分号。

2在类外定义成员函数。
在类外定义成员函数时仍然需要带上模板头,格式为:

template<typename 类型参数1 , typename 类型参数2 , …>
返回值类型 类名<类型参数1 , 类型参数2, …>::函数名(形参列表){
//TODO:
}

C++ 模板
转自:http://c.biancheng.net/view/2318.html

相关文章:

  • 2021-05-19
  • 2021-09-10
  • 2021-07-15
猜你喜欢
  • 2021-12-07
  • 2021-11-28
  • 2022-01-07
  • 2021-07-03
  • 2022-12-23
  • 2021-06-17
  • 2021-12-31
  • 2021-11-15
相关资源
相似解决方案