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