gpt4 book ai didi

c++ - 如何删除一维数组

转载 作者:行者123 更新时间:2023-11-28 00:02:14 24 4
gpt4 key购买 nike

我创建了一个如下所示的数组

int size = 5;
double my_arr[m_size];

for (int i = 0; i < size; i++)
{
my_arr[i] = (rand()%10+1) + ((double) rand() / (RAND_MAX));;
}

在对数组进行一些计算后,我想删除该数组。所以我这样做

for (int i = 0; i < size; i++)
{
delete my_arr[i];
}

我得到这个错误

error: type ‘double’ argument given to ‘delete’, expected pointer

我在网上搜索了一下,所有的解决方案都与指针数组有关。但我没有使用任何指针。那么如何删除这个数组呢?

最佳答案

当离开声明变量的范围时,数组将被自动删除。如果你真的需要快速释放内存,你可以尝试将你的代码放在拥抱之间:

{ //create new scope
int size = 5;
double my_arr[m_size];

for (int i = 0; i < size; i++)
{
my_arr[i] = (rand()%10+1) + ((double) rand() / (RAND_MAX));;
}

//some stuff

} //all non-pointer objects (or arrays) will be deleted

或者你可以使用指针:

double *pMyarr =  new double[m_size] ;

关于c++ - 如何删除一维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37972504/

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