iterator 迭代器 这就像是STL容器的指针,可以用星号"*"操作符解除引用 我们就先用vector举个例子 vector 头文件:<vector> 向量,个人习惯称为动态数组,因为它相当于一个不定长的数组,当数组长度达到目前最大长度的时候,会将数组的容量扩容至原来的两倍 初始化 1. vec ...
分类:
其他好文 时间:
2019-02-03 14:10:35
阅读次数:
149
STL: 容器与迭代器的概念 重载运算符 vector: v.size(); v.push_back(); v[i]; set: set.insert(); set.erase(); set.begin(); set.end();指到最后一个的后一个 set.count(); set.lower_b ...
分类:
其他好文 时间:
2019-02-01 01:15:02
阅读次数:
185
这道题用STL容器就很好写了,可以用set也可以用map, 用unordered_map的C++代码如下: 12ms beat 44% 使用set: 16ms beat 33% ...
分类:
其他好文 时间:
2019-01-30 20:30:38
阅读次数:
163
条目八《永不建立auto_ptr的容器》 重要的事说三次,永不建立auto_ptr的容器,永不建立auto_ptr的容器,永不建立auto_ptr的容器!!! 为什么? 实质是 指针在转移时把原本的指针置为NULL,然而在STL容器中的一些操作是包含数据转移操作的。 比如 排序sort() ,在ST ...
分类:
其他好文 时间:
2018-12-26 00:29:50
阅读次数:
125
set c++ 如何检查一个元素是否在std :: set? 有一个更简单的等价的下面的代码: myset.find(x) != myset.end() 有一个更简单的等价的下面的代码: 检查许多STL容器中的存在的典型方法是: const bool is_in = container.find(e ...
分类:
编程语言 时间:
2018-12-24 16:18:34
阅读次数:
179
条目一主要是先抛出选择STL容器时面对的问题,并且从中简单的对各个容器做个分类和使用对比。 在选择stl容器类型的时候,一般需要从以下的角度来考虑选择对象: 1.元素的排序情况 2.是否与标准相符 3.迭代器的能力 4.元素布局与C的兼容性 5.查找速度 6.因引用计数数所引起的反常行为 7.是否便 ...
分类:
其他好文 时间:
2018-12-15 17:56:38
阅读次数:
175
一、STL容器共性机制 STL容器所提供的都是值(value)寓意,而非引用(reference)寓意,也就是说当我们给容器中插入元素的时候,容器内部实施了拷贝动作,将我们要插入的元素再另行拷贝一份放入到容器中,而不是将原数据元素直接放进容器中,也就是说我们提供的元素必须能够被拷贝。 除了queue ...
分类:
其他好文 时间:
2018-12-13 19:31:33
阅读次数:
176
在STL容器中,vector和string的使用频率会更高一些。设计vector和string的目标就是为了替换大多数应用中要使用的数组。 13:vector和string优先于动态分配的数组 一旦要使用new动态分配数组,将要面临很多问题:必须确保delete、必须使用正确的delete形式;必须 ...
分类:
其他好文 时间:
2018-12-09 20:38:35
阅读次数:
149
虽说这份代码的无能已经从题目看出来了,但是,他能打印步骤,他能打印步骤,他能打印步骤,重要的事情说三遍!(然并卵) ...
分类:
其他好文 时间:
2018-12-02 22:43:57
阅读次数:
237
一、标准模板库(STL) 1.定义了一系列的容器模板,实现泛型化的数据结构。 1)向量(vector),内存连续,支持下标访问和随机迭代,只有在尾部进行插入和删除效率才比较高。 2)列表(list),内存不连续,不支持下标访问和随机迭代,在任何位置进行插入和删除效率都很高。 3)双端队列(deque ...
分类:
编程语言 时间:
2018-11-27 21:11:57
阅读次数:
174