
STL
K946
123
展开
-
STL——vector解析
1.vector的实现原理 表面上,vector是不定长数组,其实不定长是一个通过复制移动内存制造出的假象。实际上,vector是定长的,不定长的实现是在原来的数组容量不足时,通过将原来数组的内容移动到更大的数组而实现的不定长假象,移动之后,小数组占用的内存将会被回收。 如果在每次新增元素的时候都扩充空间并移动内存,插入操作会花费大量时间,因此vec...原创 2020-09-09 23:29:37 · 351 阅读 · 0 评论 -
c++实现内存池并应用到STL容器
内存池: 为了节省申请小块内存与释放小块内存时的开销,可以使用内存池,开始时根据需要申请一片较大的内存,在申请小块内存的时候从内存池中获取,在释放小块内存时,将内存放回内存池内存池中的内存块: 块的大小可以由内存池的编写者确定,一般为8的倍数:8,16,24,32,.....,128;单位为字节,相同大小的块通过指针串成一串(和单链表一样)内存池的两个部分:...原创 2019-10-26 20:07:08 · 523 阅读 · 0 评论