我有一个数组列表,其中包含指向现有静态对象的指针数组。不知何故,它设法泄漏了大量内存。
Fruit fruits[20];
Fruit **list;
void addFruites()
{
list = new Fruit*[10];
for(int i=0; i<10; i++)
{
list[i] = &fruits[i];
}
}
到目前为止,一切似乎都正常。但是每当我想删除(列表)时:
delete []list;
它似乎崩溃了。
帮助!!
最佳答案
我想你可能想做
list = new Fruit * [10];
如果 list
应该是一个 Fruit
指针数组。以下内容:
list = new Fruit[10];
正在使用默认构造函数为 10 个新的 Fruit
对象分配内存,而不是为 10 个指向 Fruit
对象的指针。
关于c++ - 指向共享对象的指针数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5508183/