c++ stl 学习
SmallStrongStone
这个作者很懒,什么都没留下…
展开
-
c++ STL 学习(一): C++三种容器:list、vector和deque的区别【转载】
https://blog.csdn.net/pigofzhou/article/details/79485385在写C++程序的时候会发现STL是一个不错的东西,减少了代码量,使代码的复用率大大提高,减轻了程序猿的负担。还有一个就是容器,你会发现要是自己写一个链表、队列,或者是数组的时候,既要花时间还要操心怎么去维护,里面的指针啊,内存够不够用啊,长度问题,有没有可能溢出啊等等一系列的问题等...转载 2019-08-17 14:46:37 · 282 阅读 · 0 评论 -
内存管理学习(一)简单实现一个固定大小的内存池【转载】
1.内存池的引入(1)内存池顾名思义就是存放内存的池子,直接分配一大块内存存起来,然后慢慢地切出来使用,用完了再还回到池子,后续还能再利用。(2)如果我们需要申请一块空间,我们一般都会动态开辟一块空间(new或malloc),它们两个的共同点就是在堆上去申请空间,当然也是有一定限制的。如果我们频繁的去申请释放空间,就会造成许多的内存碎片,内存的浪费也就产生了。如果...转载 2019-08-17 15:16:02 · 518 阅读 · 0 评论 -
内存管理学习(二)c++ stl 内存池【转载】
STL内存池机制,使用双层级配置器。第一级採用malloc、free,第二级视情况採用不同策略。这样的机制从heap中要空间,能够解决内存碎片问题。1.内存申请流程图 简要流程图例如以下。2.第二级配置器说明 第二级配置器目的解决小型区块造成的内存碎片问题。 使用自由链表(free-list)技巧。主动将不论什么小额区块的内存需求量上调至8...转载 2019-08-17 15:23:27 · 270 阅读 · 0 评论 -
内存管理学习(三)【转载】
VulkanSTL的内存管理SGI STL 的内存管理http://www.cnblogs.com/sld666666/archive/2010/07/01/1769448.html1. 好多废话 在分析完nginx的内存池之后,也想了解一下C++的内存管理,于是就很自然得想到STL。STL是一个重量级的作品,据说当时的出现,完全可以说得上是一个划时代意义的作品...转载 2019-08-17 15:35:08 · 169 阅读 · 0 评论 -
内存管理学习(四)【转载】
C++ STL (四) 分配器(讲的很粗糙,就是大概了解一下分配器的原理,过一阵子刷一下内存管理这门课补一补吧)2018年12月16日 00:36:45王小闹儿阅读数 1820版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/qq_29996285/article/detai...转载 2019-08-17 15:41:41 · 167 阅读 · 0 评论 -
内存管理学习(五)内存优化总结:ptmalloc、tcmalloc和jemalloc
概述需求系统的物理内存是有限的,而对内存的需求是变化的, 程序的动态性越强,内存管理就越重要,选择合适的内存管理算法会带来明显的性能提升。比如nginx, 它在每个连接accept后会malloc一块内存,作为整个连接生命周期内的内存池。 当HTTP请求到达的时候,又会malloc一块当前请求阶段的内存池, 因此对malloc的分配速度有一定的依赖关系。(而apache的内存池是有...转载 2019-08-17 15:56:14 · 550 阅读 · 0 评论