类型的新变量

来源:互联网 发布:游戏编程工资 编辑:程序博客网 时间:2024/06/04 23:41

T泛型类型是指定关键字class或关键字typename在模板参数列表中没有差异他们是100%个同义词模板声明

在上面的代码中,宣布一些形式(在方括号中的模板参数的泛型)允许一些形式被用在函数定义的任何地方,就像任何其他类型;它可以作为参数类型,返回类型,或声明该类型的新变量。在所有的情况下它代表了一个泛型类型将确定模板实例化

实例化一个模板应用该模板使用特定类型或值的模板参数创建一个函数。这是通过调用函数模板具有相同的语法调用一个普通的功能指定模板参数括在尖括号

<模板参数名称>(函数)

例如上面定义的函数模板可以被称为

x = sum<int>(10,20);
功能和< int >是一个函数模板实例化和可能的。在这种情况下通过使用int作为调用模板参数编译器会自动实例化的版本每个发生的一些形式取而代之的是int如果它被定义为
123456789101112131415161718192021// function template#include <iostream>using namespace std;template <class T>T sum (T a, T b){  T result;  result = a + b;  return result;}int main () {  int i=5, j=6, k;  double f=2.0, g=0.5, h;  k=sum<int>(i,j);  h=sum<double>(f,g);  cout << k << '\n';  cout << h << '\n';  return 0;}



0 0