18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 营销百科 > 模板类函数模板

模板类函数模板

时间:2023-03-28 04:40:01 | 来源:营销百科

时间:2023-03-28 04:40:01 来源:营销百科

模板类函数模板:函数模板(function templates)

使用 函数模板,你可以指定一组基于相同代码但是处理不同类型或类的函数,例如:

template class type void MySwap( type a, type b )

{

type c( a );

a = b; b = c;

}

这段代码定义了一个函数家族来交换函数的参数值。从这个template你可以产生一系列函数,不仅可以交换 整型、 长整型,而且可以交换用户定义类型,如果类的 构造函数和赋值操作符被适当地定义,MySwap函数甚至可以交换类。

另外, 函数模板可以阻止你交换不同类型的对象,因为 编译器在编译时知道参数a和b的类型。

你可以像调用一个普通函数一样调用一个 函数模板函数;不需要特殊的语法。例如:

int i, j;

char k;

MySwap( i, j ); //OK

MySwap( i, k ); //Error, different types.

可以对 函数模板的template参数作外部说明,例如:

templateclass T void f(T) {...}

void g(char j)

{ fint(j);

//generate the specialization f(int)

}

当template参数在外部说明时,普通固定的类型转换会转换函数的参数为相应的 函数模板参数。在上面的的例子中,编译器会将(char j)转换成整型

关键词:模板,函数

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭