當我用我自己的類的類型矢量內存,處理:使用std :: vector的
std::vector<CItem> m_vItems;
在我的課,我初始化SFML類型,如質地和精靈:
class CItem
{
(...)
sf::Texture m_Texture;
sf::Sprite m_Sprite;
sf::IntRect* m_pRect;
(...)
}
我試圖通過反對我向量聲明爲其他類CLevel
的成員,我正在做內部的類的方法是這樣的:
CItem *temp = new CItem(x, y, kind);
m_vItems.push_back(*temp);
正如你看到的,我不delete一個temp
終場前delete
,但在CLevel
類的析構函數中我有一個簡單的一行:
std::vector<CItem>().swap(m_vItems);
而且我對內存泄漏有點困惑。我的程序是否有這些或上面的解決問題的線,我的例子已被正確書寫?
請插入析構函數的代碼 – 4pie0
哪個析構函數? CItem還是CLevel? – Gucu112