
STL源码解析
文章平均质量分 92
STL源码解析
段晓登
这个作者很懒,什么都没留下…
展开
-
3-迭代器
I:迭代器T:迭代器相应类别在调用func_impl,传入iter和iter所指的值,编译器会自动进行模板参数推导,于是我们就得到了迭代器的相应类别。所谓的 Traits 编程技法就是增加一层中间的模板iterator_traits及其的两个偏特化版本,用于支持pointer和const pointer。通过iterator_traits来“萃取”得到迭代器的value type。iterator_traits的核心在于:模板参数推导机制 + 内嵌类型定义机制 + 模板偏特化机制。原创 2025-02-26 17:23:55 · 778 阅读 · 0 评论 -
2. 空间配置器
/ 配置内存,然后构造对象delete pf;// 将对象析构,然后释放内存调用 ::operator new 分配内存;调用 Foo::Foo() 构造对象内容。调用 Foo::~Foo() 将对象析构;调用 ::operator delete 释放内存。原创 2025-02-26 16:32:07 · 943 阅读 · 0 评论 -
1. STL概述
为了建立数据结构和算法的统一标准,并且降低他们之间的耦合关系(coupling)以提升各自的独立性、弹性、交互操作性,C++ 社群里诞生了 STL。适配器是指用来修饰容器(containers)或仿函数(functors)或迭代器(iterators)接口的东西。容器主要是各种数据结构:vector、list、deque、set、map,用于存储数据。从实现的角度来看,配置器是一个实现了动态空间分配、空间管理、空间释放的类模板。迭代器主要是用作容器和算法之间的“连接器(胶合剂)”,是一种“原创 2025-02-26 15:55:20 · 795 阅读 · 0 评论