下载此文档

STL入门基础全PPT课件.ppt


文档分类:IT计算机 | 页数:约67页 举报非法文档有奖
1/67
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/67 下载此文档
文档列表 文档介绍
STL入门基础(全)++语言的核心优势之一就是便于软件的重用C++中有两个方面体现重用::继承和多态,标准类库 (genericprogramming)的思想:模板机制,以及标准模板库STL这次课的重点泛型程序设计泛型程序设计,简单地说就是使用模板的程序设计法。将一些常用的数据结构(比如链表,数组,二叉树)和算法(比如排序,查找)写成模板,以后则不论数据结构里放的是什么对象,算法针对什么样的对象,则都不必重新实现数据结构,重新编写算法。标准模板库(StandardTemplateLibrary)就是一些常用数据结构和算法的模板的集合。主要由AlexStepanov开发,于1998年被添加进C++标准有了STL,不必再从头写大多的标准数据结构和算法,并且可获得非常高的性能。,在实践中我们可能需要定义四个函数: intmax(inta,intb){return(a>b)?a,b;} longmax(longa,longb){return(a>b)?a,b;} doublemax(doublea,doubleb){return(a>b)?a,b;} charmax(chara,charb){return(a>b)?a,b;},,对于未知类型这些函数不起作用模板的概念所谓模板是一种使用无类型参数来产生一系列函数或类的机制。若一个程序的功能是对某种特定的数据类型进行处理,则可以将所处理的数据类型说明为参数,以便在其他数据类型的情况下使用,这就是模板的由来。模板是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。通过模板可以产生类或函数的集合,使它们操作不同的数据类型,从而避免需要为每一种数据类型产生一个单独的类或函数。模板分类函数模板(functiontemplate)是独立于类型的函数可产生函数的特定版本类模板(classtemplate)跟类相关的模板,如vector可产生类对特定类型的版本,如vector<int>*,使用模板 template<classT> Tmax(Ta,Tb){ return(a>b)?a,b; }<模板形参表><返回值类型><函数名>(模板函数形参表){//函数定义体}*模板工作方式函数模板只是说明,不能直接执行,需要实例化为模板函数后才能执行在说明了一个函数模板后,当编译系统发现有一个对应的函数调用时,将根据实参中的类型来确认是否匹配函数模板中对应的形参,然后生成一个重载函数。该重载函数的定义体与函数模板的函数定义体相同,它称之为模板函数*#include<iostream>template<classT>Tmin(Ta[],intn){ inti; Tminv=a[0]; for(i=1;i<n;i++){ if(minv>a[i]) minv=a[i]; } returnminv;}编写一个对具有n个元素的数组a[]求最小值的程序,要求将求最小值的函数设计成函数模板。voidmain(){inaa[]={1,3,0,2,7,6,4,5,2};doubleb[]={,-,,9,8};cout<<”a数组的最小值为:”<<min(a,9)<<endl;cout<<”b数组的最小值为:”<<min(b,4)<<endl;}此程序的运行结果为:a数组的最小值为:0b数组的最小值为:-

STL入门基础全PPT课件 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数67
  • 收藏数0 收藏
  • 顶次数0
  • 上传人梅花书斋
  • 文件大小175 KB
  • 时间2019-09-03