![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL
名字啊名字
比较杂乱,后期慢慢整理,纯用来记录学习过程。
展开
-
array解析及操作
介绍 模板定义的一种相当于标准数组的容器类型。 使用 创建 std::array<double, 100> data {}; // 创建100个double,值全0 std::array<double, 10> values {0.5, 1.0, 1.5, 2.0}; // 值初始化 赋值 values.fill(3); // 所有元素全部赋值3 源码 从里面可以看到支持了begin end 和size template <typename T> struct A原创 2021-08-26 11:16:26 · 509 阅读 · 0 评论 -
仿函数
概念介绍 仿函数是早期的命名,C++标准规格定案后采用的名称是函数对象(一种具有函数性质的对象)。这种东西在调用者看来可以像函数一样被调用。 若需要使用内建的仿函数,需要引入< functional >头文件。 ...原创 2021-05-25 16:53:21 · 81 阅读 · 0 评论 -
迭代器
设计思维 首先明白一点,这是一种设计模式。。。 它的定义是: 提供一种方法,使之能够依序寻访某个聚合物(容器)所含的各个元素,而又无需暴漏该聚合物的内部表述方式。 对应到STL的设计中来,我们已经有了算法,有了容器,为了不暴露容器的设计细节而使得算法能够访问到数据而产生的一种东西,作为中间的粘合剂。 它是一种类似指针的对象,而指针的各种行为中最重要的也就是内容提领和成员访问。迭代器是对这两点进行重载。 ...原创 2021-05-25 16:36:33 · 50 阅读 · 0 评论 -
空间配置器
特殊的空间配置器:alloc 先考虑一般而言,我们习惯的C++申请内存和释放内存的流程, class Foo{ ... }; Foo* pf = new Foo; delete pf; new包含了两部分操作:申请空间,构造对象内容,delete也包含了两部分操作:析构,释放内存。 allocator决定将这两阶段区分开来, 内存配置操作由alloc:allocate负责,内存释放操作由alloc:deallocate负责, 对象构造由::construct负责,对象析构由::destroy负责。 这原创 2021-05-24 11:15:53 · 247 阅读 · 0 评论