这是我班上的方法:
void StartProgram()
{
int q = 0;
cout << "\nEnter figures quantity\n";
cin >> q;
Figure* Temp;
for (int i = 0; i < q; i++)
{
Temp = new Figure;
Temp->CreateFigure(255, 3);
compose.insert(compose.end(), Temp);
delete Temp;
}
}
此方法填充向量&#34;撰写&#34;通过类&#34;图&#34;的对象。对于此任务,我使用临时指针变量。当我试图删除这个Temp变量时,为了避免内存泄漏 - 一切都出错了。没有这个删除 - 程序运行良好。我知道,也许这个问题非常愚蠢,但我真的不知道在这种情况下我应该做些什么,因为我认为只是离开这种方法而不释放内存是不可取的。
答案 0 :(得分:1)
如果必须使用指针(例如,你确实有一个多态对象的向量),请使用unique_ptr:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClassName("com.android.settings","com.android.settings.LanguageSettings");
startActivity(intent);
如果您不需要多态对象数组,只需将类型为Figure的对象放入向量中。