我有一个小问题:我做了一个小程序,每次用户点击 QPushButon 时,都会用他的指针创建一个新对象,这是我的代码:
ajoute *az = new ajoute;
QVBoxLayout *layoutPrincipal = new QVBoxLayout;
问题是每个已创建的对象都具有相同的名称,所以如果我想删除一个对象,可能会出现错误?
PS:对不起我的英语不好,我是法国人
问题是每个已创建的对象都具有相同的名称,所以如果我想删除一个对象,可能会出现错误?
似乎您正在创建一组动态分配的对象,而您不知道如何存储它们的指针。最简单的方法是使用 aQVector<ajoute*>
并存储动态分配的对象:
QVector<ajoute*> v;
现在,每当您创建一个时,ajoute
您只需执行以下操作:
v.push_back( new ajoute );
这将在向量(容器)的末尾添加指针。然后您可以通过执行以下操作按顺序访问它们:
v[0]; // first
v[1]; // second
v[2]; // third
显然,您可以将它们删除为:
delete v[0]; // example
请记住也要删除向量内的指针:
v.remove(0);
您的对象很可能在堆栈上,因此下一个实例不会“记住”前一个实例。需要更多代码来微调解释。
常见的解决方案包括: