堆/堆栈-进入QGraphicsItemGroup的变量范围
||
如果我有一个QGraphicsItem想要放入QGraphicsItemGroup中,则在循环中是这样的:
for(int i =0; i < 2; i++)
{
for(int j = 0; j < 2; j++)
{
QPixmap p(imwidth, imheight);
p.fill(Qt::gray);
QGraphicsPixmapItem *ipi = new QGraphicsPixmapItem(p);
group->addToGroup(ipi);
}
}
该项目是否必须在堆上,还是我可以将其设置为一个堆栈变量,并希望它在仍在组中可见,该组在此for循环之外声明?
没有找到相关结果
已邀请:
2 个回复
伐教爸
方法使用一个指针,因此您不能不传递任何其他内容。它不复制传入的对象,仅存储该指针。 如果您给它一个指向堆栈分配对象的指针,它将早晚尝试访问可能很可能被覆盖的堆栈内存,即使它(被奇迹般地)未被覆盖,它们也会迟早崩溃。这些物件无论如何都会被销毁-因此它们在任何情况下都将无效。
澜悍景哭苟