我有這個循環遍歷一個向量。 然後它檢查給定的名稱是否等於模型的名稱。我的代碼會導致內存泄漏嗎?
最後,它創建一個指針並返回它。現在我的問題是,如果我不刪除指針,是否會有任何內存泄漏?
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)實現==的對象,它可能是正確的。 –
我將所有模型存儲在一個向量中,當我想要檢索它們時,通過名稱來記住它們會更容易。 難道還有更好的辦法嗎? –