我想初始化存储空间,需要限制为2GB。基本上,我需要分配2GB的内存然后添加项目到内存,并在添加项目时,确保它不会溢出分配的内存。我正在查看calloc()
,因为项目应该存储在一个数组中,但它只允许我根据项目数和项目大小来分配内存。因为我没有特定数量的项目或项目的特定大小,所以这是行不通的。有没有我可以分配一个2GB的数组,并有项目的数量和项目的大小动态>
答案 0 :(得分:1)
如果您不提前知道结束大小,可以使用std :: list或std :: vector。随着更多项目的添加,这些数据类型的存储空间将会增加。
由于您说您也不知道每个项目的大小,您可以使用某种带有指针和大小变量的结构来存储每个项目。