这不是问题,只是我想回答的问题。
我正在制作具有粒子的 2D 应用程序。在单击处理程序中,我编写了以下代码:
Particle *tempp = new Particle();
tempp->setPosition(mx, my);
particles.push_back(tempp); // typeof particles = std::list<Particle*>
delete tempp; // <- this line is the problem
当我单击时,将在鼠标位置创建一个粒子。大约一秒钟后,它应该会消失,效果很好。在它消失后,我可以再次单击以创建一个新粒子。
但是,当我在屏幕上仍然有一个粒子时单击时,我的程序会冻结并停止工作。
我的类的析Particle
构函数和它的父析构函数都是空的。
不调用delete
我的程序运行良好,即使一次有多个粒子,甚至每帧多个粒子。我只是想知道是什么导致了这个冻结问题。