看了SGI版本的STL源码,其中default_alloc_template 实现内存的allocate和deallocate时,感觉有一些问题。其中allocate中只有malloc而在deallocate中没有相应的free,不知道是出于什么考虑才有这种只进不出的设计。如果这样不是会导致内存越来越多而无法释放么?与此同时,在小的free_list没有剩余空间时候,会向大的free_list拿空间,这样不是会导致小的free_list越来越多而产生聚集效应么?
http://blog.csdn.net/chengonghao/article/details/51346511