STL学习
文章平均质量分 85
对标准模板库的学习
温酒煮青梅
初级打工人
展开
-
13 STL【容器适配器简介】【适配器分配】
文章目录0 - 前言1 - 什么是容器适配器2 - 容器适配器种类0 - 前言参考: 什么是适配器,C++ STL容器适配器详解1 - 什么是容器适配器简单的理解容器适配器,其就是将不适用的序列式容器(包括 vector、deque 和 list)变得适用。容器适配器的底层实现就是通过封装某个序列式容器,并重新组合该容器中包含的成员函数,使其满足某些特定场景的需要。容器适配器本质上还是容器,只不过此容器模板类的实现,利用了大量其它基础容器模板类中已经写好的成员函数。当然,如果必要的话,容器适转载 2021-04-27 15:58:42 · 152 阅读 · 0 评论 -
12 STL【unordered_map介绍】【unordered_map获取/添加/删除元素 成员函数】【unordered_multimap】【unordered_set】
文章目录0 - 前言1 - unordered_map成员函数2 - unordered_map迭代器3 - unordered_map获取元素4 - unordered_map insert()5 - unordered_map emplace() emplace_hint()6 - unordered_map删除元素7 - unordered_multimapunordered_multimap成员函数8 - unordered_setunordered_set成员函数0 - 前言C++ ST转载 2021-04-24 10:57:06 · 6173 阅读 · 1 评论 -
11 STL【无序容器介绍】
文章目录0 - 前言1 - 什么是无序容器2 - 无序容器种类0 - 前言参考:C++ STL无序容器(哈希容器)是什么?1 - 什么是无序容器注意,无序容器是 C++ 11 标准才正式引入到 STL标准库中的,这意味着如果要使用该类容器,则必须选择支持 C++ 11 标准的编译器。和关联式容器一样,无序容器也使用键值对(pair 类型)的方式存储数据。关联式容器的底层实现采用的树存储结构,更确切的说是红黑树结构;无序容器的底层实现采用的是哈希表的存储结构。C++ STL 底层转载 2021-04-24 10:52:15 · 339 阅读 · 0 评论 -
10 STL关联式容器自定义排序规则【函数对象】【常用排序规则】
文章目录0 - 前言1 - 使用函数对象1 - 1 什么是函数对象1 - 2 STL中的函数对象类模板1 - 3 使用函数对象规定容器排序规则2 - 重载关系运算符实现自定义排序0 - 前言参考:C++ STL关联式容器自定义排序规则(2种方法)总的来说,为关联式容器自定义排序规则,有以下 2 种方法。1 - 使用函数对象无论关联式容器中存储的是基础类型(如 int、double、float 等)数据,还是自定义的结构体变量或类对象(包括 string 类),都可以使用函数对象的方式为该容器自转载 2021-04-22 10:43:40 · 817 阅读 · 0 评论 -
9 STL【set介绍】【set创建】【添加/删除set元素】【multiset】
文章目录0 - 前言1 - set是什么2 - set的创建3 - set成员函数4 - 迭代器5 - set添加元素insertemplaceemplace_hint6 - set删除元素eraseclear7 - multiset7 - 1 创建multiset7 - 2 multiset成员函数0 - 前言参考:C++ STL set容器完全攻略(超级详细)1 - set是什么和 map、multimap 容器不同,使用 set 容器存储的各个键值对,要求键 key 和值 value 必须转载 2021-04-19 21:49:23 · 2050 阅读 · 0 评论 -
8 STL【map介绍】【map创建/成员函数/迭代器】【map键值对插入】【multimap介绍】
文章目录0 - 前言1 - 什么是map2 - 创建map3 - map成员函数4 - map迭代器5 - map获取键对应的值6 - map插入新键值对emplace和emplace_hint7 - multimap7 - 1 创建multimap7 - 2 multimap成员方法0 - 前言参考:C++ STL map容器详解1 - 什么是map作为关联式容器的一种,map 容器存储的都是 pair 对象,也就是用 pair 类模板创建的键值对。其中,各个键值对的键和值可以是任意数据类型,转载 2021-04-18 16:32:58 · 739 阅读 · 0 评论 -
7 STL【list介绍】【list创建/迭代器/成员函数/底层实现】【访问/添加/删除list元素】【forward_list】
文章目录0 - 前言1 - list是什么2 - 创建list3 - list成员函数4 - list迭代器5 - list底层实现6 - 访问list元素7 - list添加元素insertsplice8 - list删除元素9 - forward_list0 - 前言参考:C++ list(STL list)容器完全攻略(超级详细)1 - list是什么STL list 容器,又称双向链表容器,即该容器的底层是以双向链表的形式实现的。这意味着,list 容器中的元素可以分散存储在内存空间里,转载 2021-04-18 11:10:13 · 315 阅读 · 0 评论 -
6 STL【deque介绍】【deque创建/成员函数/迭代器/底层实现原理】【访问deque内元素】【deque元素添加/删除】
文章目录0 - 前言1 - deque是什么2 - 创建deque3 - deuqe成员函数4 - deque迭代器5 - deuqe底层实现原理6 - 访问deque内的元素7 - deque添加/删除元素0 - 前言参考:C++ STL deque容器(详解版)1 - deque是什么deque 是 double-ended queue 的缩写,又称双端队列容器。deque 容器和 vecotr 容器有很多相似之处,比如:deque 容器也擅长在序列尾部添加或删除元素(时间复杂度为O(转载 2021-04-14 16:37:18 · 623 阅读 · 0 评论 -
5 STL【vector介绍】【创建/添加/插入/删除】【迭代器】【vector成员函数】【访问vector】【释放vector内存】
文章目录0 - 前言1 - vector是什么2 - 创建vector3 - vector成员函数4 - vector迭代器5 - 访问vector元素6 - vector底层实现机制7 - 添加元素(push_back emplace_back)8 - 插入元素(insert emplace)9 - 删除元素10 - 释放内存11 - vector< bool >0 - 前言参考:http://c.biancheng.net/view/6749.htmlhttp://c.bianch转载 2021-04-12 17:15:58 · 860 阅读 · 0 评论 -
4 STL【array介绍】【访问array单个/多个元素】【array成员函数】
文章目录0 - 前言1 - array是什么2 - 使用array3 - 访问array元素3 - 1 单个元素3 - 2 多个元素0 - 前言参考:http://c.biancheng.net/view/6688.html1 - array是什么array 容器是 C++11 标准中新增的序列容器,简单地理解,它就是在 C++ 普通数组的基础上,添加了一些成员函数和全局函数。在使用上,它比普通数组更安全,且效率并没有因此变差。特性:array 容器的大小是固定的,无法动态的扩展或收缩,这也就转载 2021-04-09 14:26:52 · 437 阅读 · 0 评论 -
3 STL序列式容器简介【array、vector、deque、list、forward_list】【容器函数合集】
文章目录0 - 前言1 - 序列容器是什么2 - 序列容器包括什么3 - 容器函数3 - 1 array vector deque3 - 2 list forward_list0 - 前言参考:http://c.biancheng.net/view/409.html1 - 序列容器是什么序列容器,即以线性排列(类似普通数组的存储方式)来存储某一指定类型(例如 int、double 等)的数据,需要特殊说明的是,该类容器并不会自动对存储的元素按照值的大小进行排序。2 - 序列容器包括什么转载 2021-04-09 10:42:10 · 123 阅读 · 0 评论 -
2 STL迭代器介绍【前向迭代器、双向迭代器、随机访问迭代器】【迭代器遍历容器】
文章目录0 - 前言1 - 迭代器定义2 - 迭代器分类3 - 迭代器使用0 - 前言参考:http://c.biancheng.net/view/6675.html1 - 迭代器定义每一种容器都有对应类型的迭代器,也就是,不同容器的迭代器也不同,其功能强弱也有所不同。容器的迭代器的功能强弱,决定了该容器是否支持 STL 中的某种算法。2 - 迭代器分类常用的迭代器按功能强弱分为输入迭代器、输出迭代器、前向迭代器、双向迭代器、随机访问迭代器 5 种。常用的就是后三种,输入迭代器和输出迭代器比转载 2021-04-09 10:39:02 · 4945 阅读 · 0 评论 -
1 STL部件【容器、分配器、算法、迭代器、适配器、仿函数】容器简介【序列容器、关联容器、无序容器】
文章目录STL六大部件:C++11新规定的遍历方式容器分类序列式容器关联式容器无序式容器STL六大部件:容器 container:存储数据,用户不必关心数据在内存的存储形式,只需要知道怎么用容器接口分配器 allocator:帮助容器在内存规划位置算法 algorithm:与数据分离,能够执行某种操作迭代器 iterator:连接容器(数据)和算法(操作)的桥梁,好像一种泛化指针适配器 adapter:进行转换,可以针对容器、仿函数、迭代器仿函数 Funtor:作用像一个函数标准库规原创 2021-04-09 10:33:49 · 389 阅读 · 0 评论