![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL
阿华Go
做一个有责任心有上进心的汉子,我要肩负起守护家人的重任!!!
展开
-
C++中STL(Standard Template Library)介绍
STL(Standard Template Library),是C++的一个高效的标准模板库,主要包括了: ①容器;②迭代器;③算法;④仿函数;⑤迭代适配器;⑥空间适配器(allocator)主要包括对象的创建和销毁以及内存的获取和释放两个部分。STL容器: 1)标准STL序列容器:每个元素都有固定位置 vector:动态数组中加以管理,随机存取元素(用索引直接存取),数组尾部添加或者移除元素原创 2017-08-16 18:05:44 · 305 阅读 · 0 评论 -
C++ STL简单小程序之开源中国
1、字符串分割:#include <iostream> #include <string> #include <vector> using namespace std; vector<string> split(const string&s){ vector<string> ret; typedef string::size_type string_size; string_原创 2017-08-16 21:02:27 · 520 阅读 · 0 评论 -
C++ STL之空间配置器(5)---《C++ STL》
详情见:https://zcheng.ren/2016/08/16/STLAllocater/ STL的实现中,空间配置器是重中之重唉,因为整个STL的操作对象放在容器内,怎样为容器配置空间使得容器得以存放数据呢?这时候我们就需要配置器Alloc进行处理了。 空间配置器Alloc包括哪些方面呢? 空间配置器将内存的配置。释放与对象的构造和析构释放分开,因此STL的空间配置器包括分两个部分进行讲原创 2017-10-07 11:40:34 · 350 阅读 · 0 评论 -
C++ STL之deque解析(1)---《C++ STL》
详情:https://zcheng.ren/2016/08/26/STLDeque/#push-backC++ STL中为什么实现deque呢?C++怎样实现deque呢?先来解释第一个问题?STL设计了vector和list, vector是内存中一段连续存储的空间,针对随机访问和存储,下标操作符表现都很棒的;那么它有什么缺点呢?当然啦,当进行插入、删除或者拷贝等问题时候,需要移动一大批数据,这原创 2017-10-04 17:08:13 · 415 阅读 · 0 评论 -
C++之STL vector解析(2)---《C++ STL》
详情见:https://zcheng.ren/2016/08/23/STLVector/C++中由于数组不能动态拓展,因此在STL中设置了vector用来实现动态数组的作用,通过分配连续的内存空间存放元素,如果在插入元素的时候发现内存空间不够大的话,可以对其重新进行内存分配,实现动态数组。 vector的结构包括3部分:标记内存空间起点的起始迭代器:iterator start;标记当前元素插入位原创 2017-10-04 18:13:38 · 319 阅读 · 0 评论 -
C++之STL list解析(3)---《C++ STL》
详情:https://zcheng.ren/2016/08/24/STLList/C++实现了vector之后由于无法是实现快速删除和插入元素,因此STL设计者便提出用list解决这一问题:通过在内存中不连续的空间分配节点,通过链接进行操作,便可以快速实现这一优点。 list的节点包括:指向前一节点的指针prev,指向后一节点的指针next; iterator用指向list节点的指针实现即可。原创 2017-10-04 18:21:59 · 272 阅读 · 0 评论 -
C++之STL Stack和Queue(4)---《C++ STL》
详情见:https://zcheng.ren/2016/08/26/STLStackAndQueue/上篇博客我们介绍了deque的设计和实现,stack和queue的设计都是基于deque实现的,因此我们只需要简单的调用deque的接口就好啦! stack:deque.push_back(); deque.pop_back();queue:deque.push_back(x); deque.po原创 2017-10-04 20:59:08 · 197 阅读 · 0 评论 -
C++之STL set和map解析(4)---《C++ STL》
详情见:https://zcheng.ren/2016/09/09/STLSetAndMap/今天的内容需要用到红黑树的知识,因为set和map都是通过RBTree实现的,因此,推荐大家先看这两篇博客,理解红黑树的性质: 一步一图一代码,一定要让你真正彻底明白红黑树 带你深入理解STL之RBTree C++ STL源码剖析 一、set模块: set以红黑树作为其底层容器,实现set其实就在调用红黑树原创 2017-10-05 16:22:03 · 287 阅读 · 0 评论