首页 > 试题广场 > 关于函数模板,描述错误的是? 
[不定项选择题]
关于函数模板,描述错误的是? 
  • 函数模板必须由程序员实例化为可执行的函数模板
  • 函数模板的实例化由编译器实现
  • 一个类定义中,只要有一个函数模板,则这个类是类模板
  • 类模板的成员函数都是函数模板,类模板实例化后,成员函数也随之实例化

14个回答

添加回答
A。
正确的说法是函数模板必须由编译器根据程序员的调用类型实例化为可执行的函数
编辑于 2017-06-07 14:46:04 回复(6)
ACE全是错的
A 不说了
C 自己运行下面的代码看看就行了
class fooo{
public:
	template<class T>
	void func(T){
		cout << typeid(T).name() << endl;
	}
};

int main(int argc, char * * argv) {
	fooo f;
	f.func<int>(100);
	return 0;
}
D 没有使用的成员函数不会被实例化。
发表于 2016-08-09 20:13:18 回复(1)
A函数模板必须由编译器根据程序员的调用类型实例化为可执行的函数
C类模板的成员函数都是函数模板
D没使用过的成员函数(即函数模板)不会被实例化
编辑于 2017-07-19 08:50:02 回复(2)
默认情况下,对于一个实例化了的类模板,其成员函数只有在使用时才被实例化。如果一个成员函数没有被使用,则它不会被实例化。所以D应该是错的吧
发表于 2017-03-28 16:13:01 回复(1)
函数模板必须由程序员实例化为可执行的函数模板//函数,而不是模板了,再还是模板干嘛实例化呢,,,,所以最后结果是函数去掉模板..
函数模板的实例化由编译器实现//实现就是用编译器实现的
发表于 2016-11-15 00:07:12 回复(0)
编译器完成模板实例化
发表于 2016-09-22 23:29:44 回复(0)
类模板的成员函数都是函数模板?这句话对吗?哪位能给说明一下?
发表于 2016-08-28 17:38:49 回复(1)
函数模板必须由 编译器根据 程序员 的调用类型 实例化为可执行的函数
发表于 2016-05-18 22:14:25 回复(0)
D前面几个 “如果” 就对了
发表于 2016-03-20 15:00:55 回复(0)
#include <iostream>
using namespace std;

struct Test{
    Test(): i(1), f(2.0f) {}
    
    template<class T>
    void print(const T &elem){
        cout << elem << endl;
    }

   
    int i;
    float f;
};

int main(void)
{
    Test t;
    t.print<int>(t.i);
    t.print<float>(t.f);
    return 0;
}
请问C项怎么解释?
发表于 2015-09-29 14:09:27 回复(1)
如果多选,D也是错的
发表于 2015-09-10 19:22:17 回复(0)
模板函数由编译器进行参数推导
发表于 2015-06-06 22:50:29 回复(0)
我感觉D不对:
#include<stdio.h>
#include<unistd.h>

template <class T>
class A
{
public:
    void f() {}
};

int main()
{
    A<int> a;
}

编译没问题,类模版中的函数也可以是普通函数
发表于 2015-05-11 20:52:58 回复(1)
Template可以独立于任何特定的类型编写代码,是泛型编程的基础.当我们编写的类和函数能够多态的用于跨越编译时不相关的类型时,用Template.模板主要用于STL中的容器,算法,迭代器等以及模板元编程.(C++的template是实现在库设计和嵌入式设计中的关键。template能实现抽象和效率的结合;同时template还能有效地防止代码膨胀)
发表于 2014-10-25 00:26:17 回复(0)
牛客网,程序员必备求职神器
QQ群:169195721
微 信:www_nowcoder_com 关注
微 博:牛客网 关注

扫一扫,把题目装进口袋