• 回答数

    7

  • 浏览数

    89

左家庄与特8
首页 > 英语培训 > 模板英文翻译

7个回答 默认排序
  • 默认排序
  • 按时间排序

所謂尐寧

已采纳

模板类英文为class template,template的中文翻译为模板,所以模板类的意思其实是:类的模板。顾名思义,模板类是相当于一个模具,当参数给定时,生成具体的类,也叫实例化。它的提出主要是为了减少代码重复。例如,我们可以用下面的代码交换两个数b和ca = b;b = c;c = a;这个交换过程与a,b,c的具体类型没有关系,因此我们可以用它来交换两个整数,或者两个浮点数。更一般的,我们可以用来交换两个具有赋值运算符的类型。因此,可以用模板进行一般化:templatevoid swap(T &b, T &c){ a = b; b = c; c = a;}当然,上面介绍的这个不是模板类,而是模板函数。不过他们的概念是类似的。其中一开始的template代表后面尖括号中的是模板参数(类似于函数的参数),class代表参数是类(相应的,可以用template来声明整型参数)。后面的代码和的函数基本没有区别,只是用T来代替了具体的类型,例如int,double等。根据需要我们可以用swap(b,c)来交换两个整数,swap(b,c)交换两个浮点数。由于编译器可以根据b,c的具体类型推导T的具体含义,因此可以简写为swap(b,c)。回到模板类,假设我们需要一个类型来代表动态数组,且该类型支持size成员函数。如果是整型的类,我们可能会写class vector_int{ size_t size() const;};如果某一天,我们又需要浮点类型的动态数组,可能又会写class vector_double{ size_t size() const;};于是就会发现它们的代码是如此的类似,因此我们希望将它一般化。如同swap函数的做法,我们将它定义为模板类:templateclass vector{ size_t size() const;};因此,vec_int等同于vector,而vector_double等同于vector。因为运用模板类的语法类似于vector a;因此,编译器没办法为我们推导T的具体含义,所以不能像模板函数一样进行简写。当然,上面是比较简单的情况,有时候我们需要的类在大多数情况下是一样的,但是对于某几个特殊情形可能不太一样,例如我们可能希望对于bool类型的数组能尽量减少内存的使用,用一个比特位代表一个bool值。从而,我们的数组不是通过bool a[10]的形式来定义。在这种情况下,c++提供了模板特化,也就是说当模板的参数取某个具体的值时,我们使用不同的模板,定义方式如下:template<>class vector{ size_t size() const;};因为,它是一个特化的模板类,所以只有普通模板存在的情况下,它的存在才是合法的,不然我们是对什么进行特化的呢?

模板英文翻译

283 评论(9)

秉诚装饰

模板template书信的那个格式,模板 就叫template和format

328 评论(8)

美罗Tutu

正解:building template

164 评论(9)

沈阳硅藻泥

什么样滴模版 网络用的还是工作用的

156 评论(12)

丹枫在心

formwork混凝土用模板是 concrete formwork铝模板 aluminum concrete formwork

337 评论(14)

飛天彩绘

建筑模板贸易

228 评论(10)

阿达殿下

building templates,希望对你有用。

268 评论(12)

相关问答