模板初学者指南1[1]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 sdssly 的 blog

模板初学者指南1

原文:http://www.codeproject.com/cpp/templates_part1.asp

 

在开发大型应用时,对于不同的函数和类,通过使用共享代码模板可以节省大量的时间。在通用的函数或是类中定义模板,模板是和数据相独立的。在这个指南中,我将处理模板函数和模板类。假设你已经实现了一个类处理堆栈,有关push pop 读状态等操作,这个堆栈类可以处理double类型的数值。如果以后要求一个整型的堆栈类,哪怎么办?没有模板技术,你不得不复制粘贴这个堆栈类代码。这样效率不高。使用模板,你可以定义模板类或是函数,使用所有的函数和类型, 可以在模板定义中声明新的变量。看下面是怎么工作的:

 

函数模板

 

假设我们需要一个函数模板为了在不同类型的数组中查找最小数值:

 

template < class elemtype >

elemtype calcmin(elemtype elemfield[], int ifieldsize)

{

       int imin = 0;

       for (int  i=1; i < ifieldsize; ++i)

       {

              if (elemfield[i] < elemfield[imin])

                     imin = i;

       }

       return elemfield[imin];

}

 

这就是函数模板。他期待一个数据类型并将返回其中其中的一个。使用这个模板,看下面的例子:

 

void letstestthefunctiontemplate()

本文关键:模板 template
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top