Я использую вектор с моим собственным типом класса:Работы с памятью, при использовании зОго :: вектора
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);
Как вы видите, я не deleteing temp
указателя с delete
, но в деструкторе класса CLevel
У меня есть простая линия:
std::vector<CItem>().swap(m_vItems);
И я немного запутался об утечках памяти. У моей программы есть некоторые из этих или линии выше решения проблемы, и мой пример был правильно написан?
введите код деструктора – 4pie0
Какой деструктор? CItem или CLevel? – Gucu112