- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C STL编程轻松入门
C STL编程轻松入门
本文由李相好贡献
doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
C++ STL 编程轻松入门
作者: 来源: 更新时间: 等级: 作者:佚名 来源:不详 更新时间:2007-3-25 14:23:40 等级:
作为 C++标准不可缺少的一部分,STL 应该是渗透在 C++程序的角角落落里的。STL 不 是实验室里的宠儿,也不是程序员桌上的摆设,她的激动人心并非昙花一现。本教程旨在传 播和普及 STL 的基础知识,若能借此机会为 STL 的推广做些力所能及的事情,到也是件让 人愉快的事情。
1 初识 STL:解答一些疑问 :
1.1 一个最关心的问题:什么是 STL 一个最关心的问题: 什么是 STL?,假如你对 STL 还知之甚少,那么我想,你一定很想知道这个问题的答 案,坦率地讲,要指望用短短数言将这个问题阐述清楚,也决非易事。因此,如果你在看完 本节之后还是觉得似懂非懂,大可不必着急,在阅读了后续内容之后,相信你对 STL 的认 识,将会愈加清晰、准确和完整。不过,上述这番话听起来是否有点像是在为自己糟糕的表 达能力开脱罪责呢?:) 不知道你是否有过这样的经历。 在你准备着手完成数据结构老师所布置的家庭作业时, 或 者在你为你所负责的某个软件项目中添加一项新功能时,你发现需要用到一个链表(List)或 者是映射表(Map)之类的东西,但是手头并没有现成的代码。于是在你开始正式考虑程序 功能之前,手工实现 List 或者 Map 是不可避免的。于是……,最终你顺利完成了任务。或 许此时, 作为一个具有较高素养的程序员的你还不肯罢休 (或者是一个喜欢偷懒的优等生:) , 因为你会想到,如果以后还遇到这样的情况怎么办?没有必要再做一遍同样的事情吧! 如果说上述这种情形每天都在发生,或许有点夸张。但是,如果说整个软件领域里,数十 年来确实都在为了一个目标而奋斗--可复用性(reusability) ,这看起来似乎并不夸张。从最 早的面向过程的函数库,到面向对象的程序设计思想,到各种组件技术(如:COM、EJB) , 到设计模式(design pattern)等等。而 STL 也在做着类似的事情,同时在它背后蕴涵着一种 新的程序设计思想--泛型化设计(generic programming) 。 继续上面提到的那个例子,假如你把 List 或者 map 完好的保留了下来,正在暗自得意。 且慢,如果下一回的 List 里放的不是浮点数而是整数呢?如果你所实现的 Map 在效率上总 是令你不太满意并且有时还会出些 bug 呢?你该如何面对这些问题?使用 STL 是一个不错 的选择, 确实如此, STL 可以漂亮地解决上面提到的这些问题, 尽管你还可以寻求其他方法。 说了半天,到底 STL 是什么东西呢? STL(Standard Template Library) ,即标准模板库,是一个具有工业强度的,高效的 C++ 程序库。它被容纳于 C++标准程序库(C++ Standard Library)中,是 ANSI/ISO C++标准中 必威体育精装版的也是极具革命性的一部分。 该库包含了诸多在计算机科学领域里所常用的基本数据结 构和基本算法。 为广大 C++程序员们提供了一个可扩展的应用框架, 高度体现了软件的可复 用性。这种现象有些类似于 Microsoft Visual C++中的 MFC(Microsoft Foundation Class Library) ,或者是 Borland C++ Builder 中的 VCL(Visual Component Library),对于此二者, 大家一定不会陌生吧。 从逻辑层次来看,在 STL 中体现了泛型化程序设计的思想(generic programming) ,引 入了诸多新的名词,比如像需求(requirements) ,概念(concept) ,模型(model) ,容器 (container) 算法 , (algorithmn) 迭代子 , (iterator) 与 OOP 等。 (object-oriented programming) 中的多态(polymorphism)一样,泛型也是一种软件的复用技术。
从实现层次看,整个 STL 是以一种类型参数化(type parameterized)的方式实现的,这 种方式基于一个在早先 C++标准中没有出现的语言特性——模板 (template) 如果查阅任何 。 一个版本的 STL 源代码,你就会发现,模板作为构成整个 STL 的基石是一件千真万确的事 情。除此之外,还有许多 C++的新特性为 STL 的实现提供了方
您可能关注的文档
- 辽宁省台安县2013-2014学年八年级历史上学期期中试题.doc
- 辽宁省台安县2013-2014学年八年级地理上学期第一次月考试题.doc
- 辽宁省台安县2013-2014学年八年级数学上学期第一次月考试题.doc
- 辽宁省台安县2013-2014学年八年级生物上学期第一次月考试题.doc
- 辽宁省台安县2013-2014学年八年级数学上学期期中试题.doc
- 辽宁省台安县2013-2014学年八年级英语上学期期中试题.doc
- 辽宁省台安县2013-2014学年八年级语文上学期第一次月考试题.doc
- 辽宁省台安县2013-2014学年八年级语文上学期期中试题.doc
- 辽宁省台安县2013-2014学年度七年级生物上学期期中试题.doc
- 辽宁省台安县2013-2014学年度上学期七年级数学第一次月考试题人教版.doc
最近下载
- 2025年深圳市育才二中小升初入学分班考试数学模拟试卷附答案解析.pdf
- 2025年深圳市育才二中小升初入学分班考试数学模拟试卷附答案解析.docx
- 4_1永合集团_流程体系建设项目_架构设计总结汇报v1.3.pptx VIP
- 面部表情疼痛量表FPS-R.docx VIP
- 4_1永团_流程体系建设项目_架构设计总结汇报v1.pptx VIP
- 金赛质量运营转型变革研讨会V1.0@2021110.pptx VIP
- 2024-2025学年重庆一中九年级(上)期中数学试卷.pdf VIP
- 人工智能赋能新质生产力:逻辑、模式及路径.pptx VIP
- 呼吸衰竭的表现及护理.pptx
- 重庆一中2024-2025学年九年级上学期周末消化作业数学试卷(解析版).docx VIP
文档评论(0)