Насколько я понимаю, QGraphicsScene сама ответственная за уничтожение объекта, но у меня тут такая тема, в общем сами смотрите:
C++ (Qt)
BattleField::BattleField(QObject *parent) : QGraphicsScene(QRectF(0,0,12*80,12*60), parent)
{
int x=64;
int y=64;
arr = new Hexagon**[rows]; //Указатели на строки указателей
for (int i=0; i<rows; ++i)
{
if(i%2!=0) cols--;
arr[i] = new Hexagon*[cols]; //Создание строк указателей
for (int j=0; j<cols; ++j)
{
arr[i][j] = new Hexagon; //Создание объекта по каждому указателю
addItem(arr[i][j]);
arr[i][j]->setPos(x,y);
x+=2*len;
}
if(i%2!=0) {cols++; x=64;}
else x=64+len;
y+=1.5*r;
}
}
BattleField::~BattleField()
{
for (int i=0; i<rows; i++)
delete[]arr[i];
delete[]arr;
}
arr - это Hexagon***, в данном случае используется как двумерный массив указателей.
Вопрос: сможет ли сцена удалить объекты по указателям, если я удалю сами указатели?
Хмм, хотя сейчас подумал, при посылке в функцию указатели ведь копируются, т.е. если я удалю первоисточник, указатели на те же объекты всё равно останутся. Но уверенности всё равно не хватает.