从C语言到C++:STL教程入门

2022-07-1712:36:13编程语言入门到精通Comments941 views字数 820阅读模式

STL由于其设计之初就容纳了大量的程序员思维结晶,经过了无数次的讨论才形成了一个统一的标准,他同时拥有大量的内容和知识点,如果完全讲解内容,展开完完全全可以写出一本500页的书,本篇还是以数据结构为主,因此,这里只是略讲,而且还主要是略讲与数据结构相关的容器,不是深入讲解。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/25117.html

在这里引用本人的一位老师说的话:不学STL的C++是不完整的C++文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/25117.html

以下是STL中包含的几大内容,在学习中重点要学习前三点。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/25117.html

1.容器(Container)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/25117.html

是一种数据结构,也是本章节提的重点,如list(链表),vector(向量数组),stack(栈),队列(queue) ,以模板类的方法提供,为了访问容器中的数据,可以使用由容器类输出的迭代器。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/25117.html

2. 迭代器(Iterator)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/25117.html

是一种特殊的指针,它提供了访问容器中对象的方法,在程序设计中,它扮演了容器和算法之间的胶合剂,利用迭代器可以快速而安全的对容器内容进行操作,或是进行算法模板的使用。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/25117.html

3. 算法(Algorithm)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/25117.html

(部分书籍称为泛型算法,generic algorithms),是一类常用的算法模板,既可以对容器进行操作,同时其开放性也让算法类本身可以针对数组或者是自定义结构体等结构进行直接的操作。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/25117.html

4. *仿函数(Function object)(又称为函数对象,function object)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/25117.html

是一种行为类似函数,这样讲可能有些抽象,我们可以理解为一种高级的,重载了()操作符的结构体与类。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/25117.html

5.*迭代适配器(Iterator Adaptor)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/25117.html

是一种用来修饰容器或者仿函数的接口,它使得得带适配器使算法能够以逆向模式,安插模式进行工作,甚至还可以与流配合,它对容器起到非常大的辅助作用,同时他还将迭代器进行了更高级别的抽象。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/25117.html

6. *空间配制器(allocator)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/25117.html

是负责空间的配置与管理,重点就是对容器的空间申请和空间释放进行管理,你可以理解为C的malloc和free函数,C++的new和delete关键字。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/25117.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/25117.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定