Правильное уничтожение указателей в Std :: MapC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Правильное уничтожение указателей в Std :: Map

Сообщение Anonymous »

У меня есть std :: map объявлена ​​
std::map textureMap;
< /code>
, который я использую для сочетания пути к текстуре к фактической текстуре, чтобы я мог ссылаться на текстуру по пути без загрузки одной и той же текстуры несколько раз для отдельных спрайтов. То, что я не знаю, как правильно уничтожить текстуры в деструкторе для класса ResourceManager (где карта). < /P>
Я думал об использовании цикла с итератором, таким как: < /p>
ResourceManager::~ResourceManager()
{
for(std::map::iterator itr = textureMap.begin(); itr != textureMap.end(); itr++)
{
delete (*itr);
}
}
< /code>
Но это не работает, он говорит, что удалить ожидаемый указатель. Это довольно поздно, поэтому я, вероятно, просто упускаю что -то очевидное, но я хотел, чтобы это работало перед сном. Так я близко или я полностью в неправильном направлении с этим?

Подробнее здесь: https://stackoverflow.com/questions/199 ... -an-stdmap
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»