2013-05-30 56 views
0

我想创建一个内存管理器/分配器,它分配任何指定大小的内存。 我已经使用Boost和ACE内存分配器尝试,但它们只分配特异性类型的数据通用内存分配器

ACE_cached_allocator如果分配器是int类型,我们只能为int分配内存,不能得到char的。

例如: - 我可以问的记忆任何规模大小如int,char或任何class/structure

请提出任何lib中这样的应用

回答

1

我觉得你只是想malloc

int *a = (int *)malloc(sizeof *a * 20); 
a[0] = 1234; 
a[1] = 4567; 
free(a); 

如果你有一个结构或类Foo类型,它只是:您可以20 int数组这样的分配内存

Foo *fp = (Foo *)malloc(sizeof *fp); 

答案似乎很简单,所以我误解你的题?

(注:铸件在C中不是必需的)