删除动态数组,但保留指针
Delete a dynamic array but keep a pointer
我做了一个扩展数组的函数,这个函数在一个类里。
因为这个函数创建new_arr
并将array
的所有数字复制到new_arr
中,并在最后设置带有new_arr
的array
指针,我想知道如何删除array
中的数字,因为我不再需要它了
void Array::bigger() {
int new_size = size * 2;
int *new_arr = new int[new_size];
for (int f1=0; f1<last; f1++) {
new_arr[f1] = array[f1];
}
this->size = new_size;
array = new_arr;
}
谢谢
假设这是一个练习,然后在重新分配给新数组之前删除数组:
delete [] array;
array = new_arr;
在实际代码中,使用 std::vector<int>
而不是动态分配的数组。
丢失指向它的指针之前释放内存:
void Array::bigger() {
int new_size = size * 2;
int *new_arr = new int[new_size];
for (int f1=0; f1<last; f1++) {
new_arr[f1] = array[f1];
}
this->size = new_size;
delete[] array; //free memory
array = new_arr;
}
相关文章:
- 指针保留字符串
- 保留函数指针模板参数
- 如何在成为指向基类的指针后保留对子类方法的使用?
- 保留计时器集合(对象与指针)的最佳方法
- 更改保留指向其字段的原始指针的对象地址
- 释放指向保留嵌套变量内存地址的结构的指针
- 如果引用应该保留,不删除析构函数中的指针会导致内存泄漏吗?
- 如何在字符指针数组中保留指向每个单词的指针?
- 指向结构的指针保留某些属性,同时将其他属性重置为零(使用 map)
- 即使阵列腐烂到指针,如何将函数的参数保留为数组,这很好
- clock_nanosleep - 请求和保留的相同指针
- 如何在不覆盖C 中保留指针的价值
- 无法保留指向内存的指针
- 结构中的C++数组指针保留内存位置,但丢失所有值
- 删除动态数组,但保留指针
- 如何在参数中传递双重指针,以保留值
- C++:为指向两种类型之一的指针保留打开选项
- 非NULL保留指针值
- 实例变量列表中的对象未被保留?指针问题
- 在函数中保留指针是否会导致内存泄漏