下列关于函数模板的描述中,正确的是()
A、
函数模板是一个实例函数
B、
使用函数模板定义的函数没有返回类型
C、
函数模板的类型参数与函数的参数相同
D、
通过使用不同的类型参数,可以从函数模板得到不同的实例函数
【正确答案】:D
【题目解析】:
为了提高效率,实现代码复用,C++提供了一种处理机制,即使用函数模板。函数在设计时并不使用实际的类型,而是使用虚拟的类型参数。这样可以不必为每种不同的类型都编写代码段。当用实际的类型来实例化这种函数时,将函数模板与某个具体数据类型连用。故可知通过使用不同的类型参数,可以从函数模板得到不同的实例函数,即D正确,C错误。
编译器将以函数模板为样板,生成一个函数,即产生了模板函数,这个过程称为函数模板实例化。故A错误。模板函数是一个实例函数。
定义函数模板的一般格式:
template <模板参数表>
返回类型名 函数模板名(参数表)
{
函数体的定义
}
故有返回类型,C错误。