STL的simple_alloc

simple_alloc只是对配置器的简单包装

代码如下:

#include "__malloc_alloc_template.h"
#include "__defalut_alloc_template.h"

template<typename T, typename Alloc>
class simple_alloc
{
public:
static T* allocate(size_t n)
{
return 0 == n ? 0 : (T*)Alloc::allocate(n * sizeof(T));
}
static T* allocate(void)
{
return (T*) Alloc::allocate(sizeof(T));
}
static void deallocate(T* p, size_t n)
{
if(0 != n) Alloc::deallocate(p, n * sizeof(T));
}
static void deallocate(T* p)
{
Alloc::deallocate(p, sizeof(T));
}
};

猜你喜欢

转载自www.cnblogs.com/cccv/p/stl_003.html
STL
今日推荐