
stl
文章平均质量分 69
Dxiaoru
这个作者很懒,什么都没留下…
展开
-
STL六大组件 之 空间配置器
空间配置器存在的原因:①频繁的申请和释放空间,就会频繁地调用malloc和free函数,函数调用时栈帧的开辟和回退,这些都是有开销的,就会降低运行的效率。②频繁的申请和和释放空间,会造成内存碎片的问题。使得即使有足够的空间,也申请不到一个连续的空间。 SGI 标准的空间配置器:std::allocator, 它符合部分标准,但效率不佳,它只是把以下两个函数::operator ne...原创 2018-08-04 20:53:31 · 316 阅读 · 0 评论 -
STL的六大组件 之 迭代器和traits技术
迭代器是容器和算法相联系的重要部件(粘合剂),设计迭代器需要了解相应容器的实现细节,为了隐藏这些细节,STL每个容器都自己提供了专属迭代器。这些迭代器需要实现对容器的各种操作:如++,--,==,!=等。我们在使用泛型算法如:find时,在find内,需要使用迭代器的相应型别(一共有五种:①所指之物的类型,②迭代器类型,③指针类型,④引用类型,⑤差值类型)。声明内嵌型别可以获取迭代器相应型...原创 2018-08-04 21:04:06 · 309 阅读 · 0 评论 -
STL六大组件 之 容器 和 容器适配器
一、STL容器:顺序容器:(1)vector 向量容器,底层是由数组实现的。 初始化默认内存容量是0,有第一个元素时开辟一个元素大小,接下来的扩容以2倍的大小自动增长。(VS下是1.5倍) vector也可以在定义时直接指定空间大小和初始值:vector<type> iv(2,9); vetor扩充空间包括三个步骤:重新配置内存,移...原创 2018-08-04 21:18:01 · 1996 阅读 · 1 评论