问题:如何使用“ placement new ”来创建具有动态大小的数组?或者更具体地说,如何从预先分配的内存中为数组元素分配内存。
我正在使用以下代码:
void* void_array = malloc(sizeof(Int));
Int* final_array = new(void_array) Int;
这保证了 final_array*(数组指针)是从 void_array* 保留的位置分配的。但是 final_array 元素呢?我希望它们也从预先分配的内存中分配。
PS:我不得不说我正在使用一些 API,这些 API 可以让我对 tile 架构进行一些控制。有一个功能与 malloc 完全一样,但还有其他功能,例如让您控制已分配内存的属性。所以,我基本上需要做的是使用类似 malloc 的函数来分配具有我想要的属性的内存(例如,从哪个内存库,在哪里缓存等等)