读书人

怎么管理内存

发布时间: 2012-02-29 16:44:11 作者: rapoo

如何管理内存
如何管理这些内存,供自己调用,保证不会出现踩内存现象,比如说内存池

如果是分配固定大小的内存,可以用两个链表,一开始就把内存分配在一个链表上,每用一块就把他移到别一个链表上(当然这个方法不是很好)

如果是分配不定大小的内存呢?怎么管理,对好人们不吝赐教。。。

[解决办法]
如果是分配不定大小的内存,那得考虑碎片收集了.
[解决办法]
延长内存长度有两种逐项思路,一种是vector和string的实现方式,类似于realloc,长度不够时重新分配更大的一块,整体搬移过去,删除原先的地方。

第二种是list、queue的方式,申请一块新的,原来的不同,用链表连接。

第一种方式,遍历速度快,插入删除速度慢;第二种方式相反。
[解决办法]
不定大小的内存池 一般是分为几个定大小的小池子。 可以这么理解吧?


[解决办法]
不定大小的大部分实现用空闲链表... 不过偶不稀饭, 偶用RB树...

读书人网 >C++

热点推荐