我正在创建一个动态二维数组并对其进行分配。我的for循环在分配不正确的情况下运行10-15(每次都不相同)后给出错误。任何帮助,将不胜感激。
__int32 aLarge = 8121432;
__int32 bLarge = 8121784;
ActualPosition** myPositions;
myPositions = new ActualPosition*[aLarge];
for (int x = 0; x < aLarge; x++)
{
try
{
myPositions[x] = new ActualPosition[bLarge];
}
catch (bad_alloc& ba)
{
// Error here
}
}
最佳答案
如果sizeof(ActualPosition) == 1
,则需要61,431 GB的内存来保存阵列。因此,除非您有一台非常大的计算机,否则您将耗尽内存。
关于c++ - 动态二维数组分配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30805030/