STL快速入门.pdf

  1. 1、本文档共88页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STL快速入门

STL简介 1 STL 简介  Standard Template Library (STL) :标准模板库,更 准确的说是C++ 程序设计语言标准模板库。  STL是所有C++ 编译器和所有操作系统平台都支持 的一种库,说它是一种库是因为对所有的编译器 来说,STL提供给C++程序设计者的接口都是一样 的。( 同一段STL代码在不同编译器和操作系统平 台上运行的结果都是相同的,但是底层实现可以 是不同的。)  STL 的使用者并不需要了解它的底层实现。  STL 的目的是标准化组件,这样你就不用重新开 发它们。你可以仅仅使用这些现成的组件。 2 为什么我们需要学习STL?  STL 是C++ 的ANSI/ISO 标准的一部分,可以用于所有C++ 语言编译器和所有平台(Windows/Unix/Linux..) 。  STL 提供了大量的可复用的模板类和算法函数。例如,程 序员再也不用自己设计排序,搜索算法了,这些都已经是 STL的一部分。  使用STL 的应用程序保证了得到的实现在处理速度和内存 利用方面都是高效的,因为STL设计者们已经为我们考虑 好了。  使用STL 编写的代码更容易修改和阅读。因为代码更短 了,很多基础工作代码已经被组件化了;  使用简单,虽然内部实现很复杂。  虽然,STL的优点甚多,但是STL的语法实在令初学者头 疼,许多人望而却步。 3 模板  模板是C++ 中实现代码重用机制的一种工具,可以 实现类型参数化,把类型定义为参数。函数模板 和类模板允许用户构造模板函数和模板类。 4 泛型编程  C++提供了两种功能强大的抽象方法:面向对象编程与泛 型编程。  泛型编程(generic Programming)的思想精髓是基于接口编程  STL库:一组通用容器和一组操作于通用容器上的通用算 法,即泛型编程的实现品。  例如,实现一个max 函数,返回两参数中的较大值,要求 可以处理多种数据类型。 int max(int a, int b) {return ab?a:b;} double max(double a, double b) {return ab?a:b;} string max(string a, string b) {return ab?a:b;} char max(char a, char b) {…} … 缺点:大量重复工作,扩展性差 5 函数模板  函数模板可以用来创建一个通用功能的函数,以 支持多种不同形参,进一步简化重载函数的函数 体设计。  声明方法:  template typename 标识符 //可把typename换成class  函数声明 6 函数模板  C++函数  int mymax(int a,int b){  return ab?a:b;  } 类型参数  修改为函数模版  template typename T  T mymax(T a, T b) { 

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档