C++函数模板基本概念讲述

C++编程语言中的模板应用对于程序开发是一个非常重要应用。其中,C++函数模板能以同样的程序代码对不同类型的数据进行处理,其关键是将所处理的数据类型说明为参数,即类型参数化。

成都创新互联-专业网站定制、快速模板网站建设、高性价比抚宁网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式抚宁网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖抚宁地区。费用合理售后完善,10余年实体公司更值得信赖。

定义函数模板的一般形式是:

 
 
 
  1. template  
  2. 函数返回值类型 函数名(形参表)  
  3. {  
  4. 函数体  

说明:

(1)这里的类型参数名就是代表形形色色数据类型的通用参数名,它可以代表基本数据类型,也可以代表类。

(2)编写C++函数模板的方法是:

step 1:定义一个普通的函数,数据类型采用具体的普通的数据类型,仍以打印数组为例,先定义一个打印整型数组的普通函数:

 
 
 
  1. void printArray(int *array,int count)  
  2. {  
  3. for (int i=0;i
  4. cout<
  5. cout <

step 2:将数据类型参数化:将其中具体的数据类型名(如 int )全部替换成由自己定义的抽象的类型参数名(如T)。

step 3:在函数头前用关键字template引出对类型参数名的声明。这样就把一个具体的函数改造成一个通用的函数模板:

 
 
 
  1. template void printArray(T *array,int count)  
  2. {  
  3. for (int i=0;i
  4. cout<

 #t#(3)C++函数模板不是一个可以执行的函数,它只是对函数功能的程序描述,编译程序不为它生成执行代码。

(4)当编译程序遇到函数调用:

函数名 (实参表)时,自动将实参表中具体的数据类型替换函数模板中的类型参数,生成一个隐含的重载函数,该重载函数的程序代码与函数模板相同,类型则采用实参表中的具体数据类型。仍以前面所创建的打印数组C++函数模板为例,当程序出现函数调用语句printArray(a,aCount);时,编译程序将根据第一个实参a的数据类型int 匹配类型参数T,将函数模板中的所有T都替换成具体的数据类型int,从而产生一个具体的可执行函数的定义(这个过程称为模板实例化):

 
 
 
  1. void printArray(int *array,int count); 

网站题目:C++函数模板基本概念讲述
本文地址:http://www.shufengxianlan.com/qtweb/news14/525664.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联