• 手机站
  • 收藏
聚培教育网合作机构 > 武汉达内教育
武汉达内教育
400-998-6158
武汉达内教育是一家由留学海归创办的高端职业教育培训机构,是中国人才培养平台、人才输送平台。
武汉达内教育

C++标准模板库STL的学习方法

软件测试学习网

更新时间:2021-10-07 浏览:164
核心提示:做为C++规范不能缺乏的一部分,STL应该是渗入在C 程序流程的渺无人烟里的。STL并不是试验室里的新宠儿,也不是程序猿桌子的摆放,她的振奋人心并不是昙花一现

做为C++规范不能缺乏的一部分,STL应该是渗入在C 程序流程的渺无人烟里的。STL并不是试验室里的新宠儿,也不是程序猿桌子的摆放,她的振奋人心并不是昙花一现。本实例教程致力于散播和普及化STL的基本知识,若能可以借此机会为STL的营销推广做些有意义的事儿,到也是件令人开心的事儿。

初见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的完成给予了便捷。

不知道你对这儿一下子出现这么多专业术语做何感受,期待不容易另你没开心。倘若你对他们当中的大部分不甚了解,烦请安心,在事后內容里将会对这种专有名词逐一阐述。如同开始所提及的。

有意思的是,针对STL也有此外一种表述--STepanov & Lee,前面一种就是指Alexander Stepanov,STL的创办人;而后面一种是Meng Lee,她也是使STL得到实行的元勋,**个STL制成品便是她们协作进行的。这一说法源于1995年3月,Dr.Dobb’s Journal特约记者, 知名技术性书本文学家Al Stevens对Alexander Stepanov的一篇采访。

更多>同类资讯
更多>相关课程
顶部