STL基础知识

STL基础知识

​ STL的全称是,standard template library,中文译名为标准模板库,其包含有大量的模板类和模板函数,是 C++ 提供的一个基础模板的集合,用于完成诸如输入/输出、数学计算等功能。它位于各个 C++ 的头文件中,即它并非以二进制代码的形式提供,而是以源代码的形式提供 。

​ 在C++中,STL具体指:容器、算法和迭代器,它借助模板把常用的数据结构及其算法都实现了一遍,并且做到了数据结构和算法的分离

特性

STL具有以下特性:

  • 它将容器和算法之间通过迭代器进行无缝连接
  • 几乎所有的代码都采用了模板类和模板函数

STL六大组件:容器、算法、迭代器、仿函数、适配器、空间配置器

  1. 容器:各种数据结构,如vector、list、deque、set、map等,用来存放数据。
  2. 算法:各种常用的算法,如sort、find、copy、for_each等
  3. 迭代器:扮演了容器与算法之间的胶合剂
  4. 仿函数:行为类似函数,可作为算法的某种策略
  5. 适配器:一种用来修饰容器或者仿函数或迭代器接口的东西
  6. 空间配置器:负责空间的配置与管理

容器分为两大类:顺序容器和关联式容器

  • 顺序容器:强调值的排序,每个元素均有固定的位置
  • 关联式容器:二叉树结构,各元素之间没有严格的物理上的顺序
  • 容器放入元素都是值传递,而非引用传递,向容器放入元素是是复制一份进去

迭代器的种类:主要支持后三种,迭代器是一个类,这个类封装了指针

种类功能支持运算
输入迭代器对数据的只读访问++、==、!=
输出迭代器对数据的只写访问++
前向迭代器读写操作,并能向前推进迭代器++、==、!=
双向迭代器读写操作,并能向前向后操作++、–
随机访问迭代器读写操作,可以以跳跃的方式访问任意数据,功能最强的的迭代器++、–、[n]、-n、<、<=、>、>=
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"c stl基础及应用"是一本关于STL(Standard Template Library,标准模板库)的基础和应用方面的书籍。STLC++的一个重要的库,它提供了一套标准模板和算法,用于处理数据结构和容器,例如向量、链表、队列、堆等等。 这本书可以帮助读者全面了解STL基础知识和应用场景。它详细介绍了STL的各种容器、迭代器和算法的使用方法。例如,它会教读者如何创建一个向量,如何在向量中添加和删除元素,如何通过迭代器进行遍历等等。此外,这本书还介绍了STL的常见算法,例如排序、查找和拷贝等。 通过阅读这本书,读者可以学习到如何使用STL来提高程序的效率和可维护性。STL提供了许多高效的数据结构和算法,可以大大简化程序的开发过程。例如,使用STL的排序算法可以让开发者更方便地对数据进行排序操作,节省了编写排序算法的时间和精力。 此外,这本书还提供了一些实际应用的例子,帮助读者将STL的知识应用到实际项目中。这些例子可以帮助读者更好地理解STL的使用,并且在实际编程中能够更灵活地运用STL。 总之,"c stl基础及应用"是一本关于STL的基础和应用方面的书籍,它可以帮助读者系统地学习和理解STL的使用方法,并且通过一些实际例子来加强应用能力。如果对STL感兴趣或者需要使用STL来提高编程效率,这本书将是一个很好的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值