我想初始化用于存储的内存,该内存需要限制为2gb。基本上,我需要分配2gb内存,然后向内存中添加项目,并且在添加项目时,请确保它不会溢出分配的内存。我正在查看calloc()
,因为项目应该存储在数组中,但是它仅允许我根据项目数和项目大小来分配内存。由于我没有特定数量的商品,也没有特定大小的商品,因此不会。有办法我可以分配一个2gb数组并让项目数量和项目大小动态吗?
最佳答案
如果您不提前知道结束大小,可以使用std :: list或std :: vector。随着添加更多项目,这些数据类型的存储量将增加。
由于您说过也不知道每个项目的大小,因此可以使用带有指针和大小变量的某种结构来存储每个项目。
关于c++ - 用不同数量和大小的项目分配特定大小的数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28917427/