试题题干
有关函数模版和模版函数说法错误的是( )
参考答案
正确答案:
试题解析
为了提高效率,实现代码复用,C++提供了一种处理机制,即使用函数模板。
当用实际的类型来实例化这种函数时,将函数模板与某个具体数据类型连用。编译器将以函数模板为样板,生成一个函数,即产生了模板函数,这个过程称为函数模板实例化。
可简单理解为:先定义函数模板,但不是具体函数,实际使用时才实例化生成函数产生模板函数。故ABC正确。
在函数和函数模板名字相同的情况下,C++编译器遵循以下先后顺序。
1)先找参数完全匹配的普通函数(不是由模板实例化得到的模板函数)。
2)再找参数完全匹配的模板函数。
3)然后找实参经过自动类型转换后能够匹配的普通函数。
4)如果上面的都找不到,则报错。
故D错。应该先找普通函数。