没有合适的资源?快使用搜索试试~ 我知道了~
首页STL入门快速入门教程-----学习C++
STL入门快速入门教程-----学习C++

C++标准函数库中80%是STL,其中广泛使用了泛性编程思想,在其中分为几大部分。 1:语言支持部分。 2:诊断部分。包含了异常处理,断言,错误代码三大方式。 3:通用工具部分。包括动态内存管理工具,日期/时间处理工具等。 4:字符串处理部分。 5:国际化部分。使用Locale和facet可以为程序提供多国际化支持,包括各种字符集,日期时间,数值货币处理的支持。 6:容器(containers)部分。STL重要部分,包含了许多数据结构,有vector(动态增加的数组),queue(队列),stack(堆栈)……甚至也包括string,它也可以看做为一种容器,并且适用所有的容器可用的方法。 7:算法(algorithms)部分。STL重要部分,包含了70多个通用算法,都是优化的效率很高的,用来控制各种容器,内建数组等。例如find可以用来在容器中查找某特定值的元素,for_each可以用来将函数应用到容器元素之上,sort用于对容器中的元素排序。 8;迭代器(iterators)STL重要组成部分,每个容器都有自己的迭代器,只有容器才可以进行访问自己的元素,它类似指针,将算法和容器中的元素联系起来。 9:数值(numerics)部分。包含了一些数学运算的功能库,对复数运算提供了支持。 10:输入输出(I/O)部分。摸版化的IOStream部分。他提供了对C++程序的支持,并且对原有的iostream兼容。 所以,总体看来,C++标准函数库,包含的10大块内容中,STL主要包含了四个部分,迭代器,容器,算法。和额外的一个字符串。
资源详情
资源评论
资源推荐

STL 入门
标准函数库中 是 ,其中广泛使用了泛性编程思想,在其中分为几大部分。
:语言支持部分。
:诊断部分。包含了异常处理,断言,错误代码三大方式。
:通用工具部分。包括动态内存管理工具,日期时间处理工具等。
:字符串处理部分。
:国际化部分。使用 和 可以为程序提供多国际化支持,包括各种字符集,日期时间,数值货币处理的支持。
:容器()部分。 重要部分,包含了许多数据结构,有 (动态增加的数组),(队列),(堆栈)……甚至也
包括 ,它也可以看做为一种容器,并且适用所有的容器可用的方法。
:算法(!")部分。 重要部分,包含了 多个通用算法,都是优化的效率很高的,用来控制各种容器,内建数组等。例如 #
可以用来在容器中查找某特定值的元素,$! 可以用来将函数应用到容器元素之上, 用于对容器中的元素排序。
;迭代器() 重要组成部分,每个容器都有自己的迭代器,只有容器才可以进行访问自己的元素,它类似指针,将算法和容器中
的元素联系起来。
%:数值(")部分。包含了一些数学运算的功能库,对复数运算提供了支持。
:输入输出(&')部分。摸版化的 &'" 部分。他提供了对 程序的支持,并且对原有的 " 兼容。
所以,总体看来,标准函数库,包含的 大块内容中, 主要包含了四个部分,迭代器,容器,算法。和额外的一个字符串。
''((面向对象编程)和 )((泛性编程)
是基于 )( 设计的,''( 并不要求很高。而在纯 ''( 的 *+,+ 中,由于不支持泛性编程,所以 难以支持。
不同版本
:-(. 始祖级的 ,第一个实现版本,因为不是考古学家,不管是谁做的了,只需要知道,现在很少使用了。
:(/*/(.。, 的 &# 目录下的就是它。对. 组件支持不足。
:0.1.。.2# 中的 &# 目录下就是它。由于更新不足,已被淘汰,可读性比较好。
:3。比 0.1. 更符合 标准,运行速率比 , 中的 快,移植性好,在 2#。 开始使用他。在 &# 目录
下。
:)&.。为 )(4 下的 编译器)使用,同样可以在 &# 中找到它。它对 语言标准十分支持,所以在 4 下性能很出
色,并且可读性很好。
STL 入门代码。
假设我们要实现一个功能,获取用户输入,对用户输入的数字进行排序,输出。这样一个基本的流程,现在以三种办法来实现,:不使用
,纯 写。:使用部分 。:将 功能发挥到极至。
1:完全不使用 STL
5#.6#7/!8
5#.6"8
."3.#9
."3:..#.;<..#.;.=9
#.":.#.=
>
..?+@$&AB.C.9..数组允许元素的最大数
.D"E?+@$&ABF9.....整形数组
.从标准输入设备读入整数,同时累计输入个数
.直到输入的是非整形数据为止
.&3D"!9
.:.&3D"!.C.9..88.D"E&3D"!F9.&3D"!.=9
. 标准库中的快速排序函数 G
.参数依次为需排列的数组名,数组长度,

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论3