gpt4 book ai didi

c++ - 检查新数组是否创建成功

转载 作者:太空宇宙 更新时间:2023-11-04 14:33:16 25 4
gpt4 key购买 nike

<分区>

我对 C 或 C++ 了解不多,但我认为在使用 C 时,当您创建一个数组时,您会使用 malloc 请求内存,然后在赋值之前检查内存是否已分配。在 C++ 中,您使用 new 来实现一个数组。是否会通过检查数组是否为空来检查 C++ 中数组的内存分配,就像在 C 中一样?

例如,

int main()
{
int* myArr = new int[10];
if(myArr!=NULL)
{
//DO SOMETHING
}
}

我知道大多数计算机都有很多内存,因此今天内存不足的可能性较小,但我也明白,不这样做可能会导致以后出现意想不到的错误。

更新:我试图让示例保持简单。正如评论中提到的,我指的是动态内存分配。我正在尝试实现堆数据结构。作为堆的一部分,存在一个数组来存储堆的值。当堆已满时,数组必须按设计扩展 2 的下一个幂。因此我可以将堆初始化为 10,但是当我达到 10 时,我将需要扩展到 16。如果有足够的项目,堆将达到大小 2 ^n。因此,我正在调用一个函数,该函数具有 HEAP 指针的参数。然后我创建一个新数组并将值从现有数组复制到新数组。在这样做的同时,我在考虑如果由于内存不足而无法创建新数组会发生什么。我可能想在退出前将值写入文件。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com