[STL剖析] 01 引言

考虑篇幅过长,使用连载方式,学习STL容器,请关注STL专题,点点赞!

一 STL组件

  • 容器 (containers)
    STL模板类,存放数据。比如vector, list, deque, set ,map
  • 算法(algorithms)
    模板函数,ex: sort, search, copy, erase
  • 迭代器(iterators)
    泛型指针,是模板类。迭代器将operator *, operator->, operator++,
    operator--进行操作符重载的模板类。
  • 仿函数(functors)
    行为类似函数,重载了operator()的class或class template
  • 适配器 (adapters)
    修饰容器或仿函数(functors)或迭代器(iteraotrs)接口的东西
  • 配置器(allocators)
    负责空间配置与管理,实现了动态空间配置,空间管理,空间释放的模板类

二 学习课题

1、STL容器有哪些?用法?

2、STL算法有哪些?用法?

3、STL容器与迭代器的用法?关系?

4、STL配置器的本质,动态内存分配机制?

5、STL容器的数据结构,内存分配机制?

相关推荐
史迪仔011214 小时前
[QML] 交互事件深度解析:鼠标、键盘、拖拽
前端·c++·qt
米啦啦.14 小时前
类继承、子类拷贝构造函数、赋值运算符重载函数、多继承(虚继承)
c++·多继承·类继承·赋值运算符重载
swift1922114 小时前
Qt多语言问题 —— 静态成员变量
开发语言·c++·qt
用户8055336980314 小时前
现代Qt开发教程(新手篇)1.4——容器
c++·qt
ulias21215 小时前
Linux中的开发工具
linux·运维·服务器·开发语言·c++·windows
qq_4663024515 小时前
u盘插入拔出,listView不显示盘符变化
c++·qt
小熊Coding15 小时前
Windows 上安装 mysqlclient 时遇到了编译错误,核心原因是缺少 Microsoft Visual C++ 14.0 或更高版本 的编译环境。
c++·windows·python·microsoft·django·mysqlclient·bug记录
艾莉丝努力练剑15 小时前
【Linux线程】Linux系统多线程(六):<线程同步与互斥>线程同步(上)
java·linux·运维·服务器·c++·学习·线程
feng_you_ying_li15 小时前
C++11可变模板参数,包扩展,emplace系列和push系列的区别
前端·c++·算法
tankeven15 小时前
HJ177 可匹配子段计数
c++·算法