现在位置: 首页 > 内存池
2019-06-07 20:03 工业·编程 ⁄ 共 3110字 暂无评论
说一说C++里的allocator。我们知道,C++ STL里定义了很多的容器(containers),每一个容器的第二个模板参数都是allocator类型。比方说在VC10里,vector类的模板声明为:   template<class _Ty, class _Ax = allocator<_Ty> >   class vector 但是,基本上很少有人会自定义一个allocator。一来,默认的allocator已经够用了;二来,确实不知道该怎么用。一般来说,我们没有必要重新定义一个allocator。自...
阅读全文
2018-07-28 21:07 工业·编程 ⁄ 共 425字 暂无评论
    C/C++下内存管理是让几乎每一个程序员头疼的问题,分配足够的内存、追踪内存的分配、在不需要的时候释放内存——这个任务相当复杂。而直接使用系统调用malloc/free、new/delete进行内存分配和释放,有以下弊端:     1.调用malloc/new,系统需要根据“最先匹配”、“最优匹配”或其他算法在内存空闲块表中查找一块空闲内存,调用free/delete,系统可能需要合并空闲内存块,这些会产生额外开销;  ...
阅读全文
2015-02-19 22:54 工业·编程 ⁄ 共 3619字 暂无评论
在高效C++编程中看到一个不错的内存池实现方案,这里共享下,大家看看有什么不足。 代码很简单,如下: template<typename T> class CMemoryPool { public: enum { EXPANSION_SIZE = 32};         CMemoryPool(unsigned int nItemCount = EXPANSION_SIZE)         {             ExpandF...
阅读全文