STL总结

来看:思维导图

在这里插入图片描述

什么是STL ?

C++提供的STL是标准模板库 ,它采用泛型编程的思想对常用数据结构(string vector list deque queue priority_queue)和算法进行封装 (remove remove_if 还有一些 排序等);具体的话就是六大组件了 最频繁的是vetor 的使用

底层封装了迭代器,算法的功能比较灵活。例如remove removeif
string 类的append()

那么他的灵活是怎么实现的? -------->仿函数 + lambda表达式

具体包含: 容器 算法 、迭代器、容器适配器 、仿函数 、空间配置器

什么是容器 ?

容器, 置物之所也~~

本质目的就是管理数据的 ,内部就封装了一些常用接口。

容器安连续与否 分为 两大类
1 序列式 string vector list deque
2 关联式 map系列/set系列/哈希

string 类中的深浅拷贝比较重要
容器 安实质来分两类
1 容器类 : list vector deque
2 容器适配器类 stack priority_queue queue

1 熟悉每个容器底层实现
2 熟悉map/set/unordered_map 区别
3 vector 和 list区别

2 算法

求解问题的步骤

分类:1 通用类型的算法
2 与容器相关的算法

衡量算法好坏: 时空复杂度
熟悉STL中常见的算法—>find/reverse/size()…

3 迭代器

迭代器是一种抽象的设计概念
提供一种方法,按照制定规则遍历容器中所有元素,而不会暴露容器的内部实现细节

4 适配器:

1 适配器是一种设计模式,
2 将一个类的接口转化为另一个类的接口,使原本接口不相容的class可以一起运作。

5 仿函数:

是一个函数类,具有h函数的功能

6 空间配置器

STL中空间配置器一般我们很少用到,但他确确实实存在,他总是在一切工作的身后,默默付出。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值