分配具有不同数量和大小的项目的特定大小的数组

Allocating a specific sized array with a varying number and size of items

我想初始化需要限制在 2GB 的存储内存。基本上,我需要分配 2gb 内存,然后将项目添加到内存中,并且在添加项目时,确保它不会溢出分配的内存。我在看 calloc(),因为项目应该存储在一个数组中,但它只允许我根据项目的数量和项目的大小分配内存。因为我没有具体数量的物品,也没有具体尺寸的物品,所以这行不通。有没有办法我可以分配一个 2gb 的数组并让项目的数量和项目的大小动态>

如果您事先不知道最终尺寸,可以使用 std::list 或 std::vector。随着添加更多项目,这些数据类型的存储空间将增加。

既然你说你也不知道每个项目的大小,你可以使用某种带有指针和大小变量的结构来存储每个单独的项目。