C++之STL(一)

1、泛型程序设计

目的:提供相同的算法,相同的逻辑,来对不同类型的数据结构进行操作。

所以需要将类型当作参数,也就是参数类型化。

2、什么是STL

STL是基于模板实现的。编译的时候进行实例化

3、STL组件

4、容器算法迭代器关系

迭代器提供了一致的接口,给算法使用,用于遍历容器。算法不关心每个容器的数据结构,这个由容器本身去处理。

5、容器

向量vector:动态数组

deque:每一片内存是连续的

6、如何选择序列式容器

list插入不需要移动数据,但是遍历比较慢。

vector和deque,在中间插入的时候需要移动数据。支持下标访问。访问速度的话,vector相对来说会更快一点。因为deque每片内存之间不一定连续。

deque数据结构示意图

7、迭代器

迭代器是容器与算法的桥梁。

8、算法

9、适配器

相关推荐
不可求~1 小时前
C++ std::string_view 不是字符串:从悬空引用到安全用法
java·开发语言·c++
小小龙学IT2 小时前
C++ 正则表达式完全指南:从 std::regex 实战到 RE2 引擎原理(NFA/DFA/回溯陷阱)
c++·正则表达式
码匠许师傅5 小时前
【C++ 面试真题】聊聊 C++ 的序列容器
java·c++·面试
C++ 老炮儿的技术栈5 小时前
Qt5.9.1 Windows 完整开发环境搭建流程
开发语言·c++·windows·qt·编辑器·代码化
欧特克_Glodon6 小时前
OpenCV计算机视觉开发入门与实践<十一>:矩阵的复制和矩形类Rect
c++·opencv·计算机视觉·矩阵
键盘会跳舞6 小时前
C++:std::tuple 源码级深度拆解——变参模板、SFINAE与模板元编程核心技巧
开发语言·c++·sfinae·变参模板
bkspiderx6 小时前
从零开始:VS Code搭建C/C++开发环境全指南(Windows/macOS/Linux)
c语言·c++·windows·vs code·c/c++开发环境
东华万里6 小时前
第40篇C++核心基础与工程实践:从底层逻辑到避坑指南
开发语言·c++·面试·大学生专区
luj_17687 小时前
元设计的诱惑与现实
c语言·开发语言·c++·经验分享·算法
小星星闪亮登场7 小时前
ST表--倍增思想
开发语言·数据结构·c++·算法·思维