我有这个循环遍历一个向量。 然后它检查给定的名称是否等于模型的名称。我的代码会导致内存泄漏吗?
最后,它创建一个指针并返回它。现在我的问题是,如果我不删除指针,是否会有任何内存泄漏?
Model3D* ModelMemory::GetModel(char* name)
{
for (std::vector<Model3D*>::reverse_iterator it = mModels->rbegin();it != mModel->rend();it++)
{
Model3D *model = *it;
if (model->GetName() == name)
{
return model;
}
}
}
感谢您的帮助!
- 编辑 -
所以在这里我的目标是存储我所有的3D模型(存储在的Model3D班)在一个载体, 这样我可以在以后使用的Model3D的名称检索。 有没有更好的方法来做到这一点?因为它看起来像我的方式是不是很好的编程...
我想这将是不正确的 - 你为什么比较指针? – Elazar
如果GetName()返回一个对char *(比如说std :: string)实现==的对象,它可能是正确的。 –
我将所有模型存储在一个向量中,当我想要检索它们时,通过名称来记住它们会更容易。 难道还有更好的办法吗? –