首页 > 试题广场 >

下面哪一个是sort的template的正确写法?

[单选题]
下面哪一个是sort的template的正确写法
  • void sort(class A first,class A last,class B pred)
  • void template(class A,class B)sort(A first,A last,B pred)
  • template<class A><class B> void sort(A first,A last,B pred)
  • template<class A,class B> void sort(A first,A last,B pred)
推荐
答案:D
模板函数格式是先声明模板类型,然后才能使用
格式是 template<class T1, class T2, ...> 返回值 函数名(参数列表)
编辑于 2015-01-31 12:04:10 回复(0)
答案  D 

函数模板的声明

函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函数的函数体重复设计。它的最大特点是把函数使用的数据类型作为参数。

函数模板的声明形式为:

template<typename 数据类型参数标识符>

<返回类型><函数名>(参数表)

{

    函数体

}


发表于 2015-01-13 16:38:37 回复(0)

答案:D。

MSDN中对模板的定义如下:

template<class RanIt>    void sort(RanIt first, RanIt last);

template<class RanIt, class Pred>    void sort(RanIt first, RanIt last, Pred pr);

模板函数格式是先声明模板类型,然后才能使用。

格式是 template<class T1, class T2, ...>返回值函数名(参数列表),
从模板函数的格式可以看出,只有选项D的写法满足这个格式。
所以,选项D正确。
编辑于 2018-07-13 16:33:11 回复(0)

函数模板的声明

模板函数格式是先声明模板类型,然后才能使用。 函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函数的函数体重复设计。它的最大特点是把函数使用的数据类型作为参数。

函数模板的声明形式为:

template<typename 数据类型参数标识符>

<返回类型><函数名>(参数表)

{

    函数体

}
例如:
格式是 template<class T1, class T2, ...> 返回值 函数名(参数列表){//函数体}
发表于 2015-08-22 21:52:17 回复(0)
格式是 template<class t1=""> 返回值 函数名(参数列表){//函数体}</class>
发表于 2023-10-23 14:28:42 回复(0)
先声明模板类型,才能使用。
发表于 2022-01-17 23:23:50 回复(0)
顺便一提 pred是指predicate
发表于 2020-03-16 20:42:54 回复(0)
模板的定义是以关键字template开始,后边接模板形参表,模板形参表使用尖括号括住的一个或者多个模板形参的列表,形参之间用用逗号隔开,

template<typename 数据类型参数标识符>

<返回类型><函数名>(参数表)

{

    函数体

}
例如:
格式是 template<class T1, class T2, ...> 返回值 函数名(参数列表){//函数体}
发表于 2016-09-18 10:17:27 回复(0)
c++的模板声明方法

发表于 2016-08-01 16:33:41 回复(0)
D
模板函数先声明格式,再使用
发表于 2015-03-10 14:24:44 回复(0)