我有一个指针数组:pArray[rows][columns]
,其中每个元素都可以包含一个指向对象的指针。有些对象是在main()
堆上实例化的,有些对象本身也在堆上实例化:也就是说,我传递pArray
给一个对象成员函数,该函数创建了一个新对象,并将指向它的指针放入pArray
.
现在,当我想从中删除指向对象的指针时pArray
,这里有所有权吗?意思是,如果一个对象创建了一个新对象并将指向它的指针放在 中pArray
,那么只有创建者对象才能对该指针调用 delete 吗?或者我可以main()
通过将数组传递给它们来从 , 和其他对象中做到这一点吗?
更多细节:
pArray
该代码在网格 ( )上模拟捕食者猎物模型。所以我首先从一个文件中读取初始网格配置,然后实例化对象(捕食者和猎物),pArray
从main()
. 但是捕食者和猎物可以繁殖,所以对象会产生新的对象,并通过传递pArray
给它们,实例化它们的子对象pArray
。