我想创建一个内存管理器/分配器,它分配任何指定大小的内存。 我尝试过使用Boost和ACE内存分配器,但是它们只分配特定类型的数据
在ACE_cached_allocator
如果分配器为int
类型,我们只能为int
分配内存,而不能为char
分配内存。
示例: - 我可以询问任何大小的内存,如int,char
或任何class/structure
请为此类申请建议任何lib
答案 0 :(得分:1)
我想你只想要malloc。您可以像这样分配20 int
数组的内存:
int *a = (int *)malloc(sizeof *a * 20);
a[0] = 1234;
a[1] = 4567;
free(a);
如果你有一个类型为Foo
的结构或类,它只是:
Foo *fp = (Foo *)malloc(sizeof *fp);
答案似乎很简单,所以我误解了你的问题吗?
(注意:在C中不需要演员表。)