Я недавно начал использовать SFML и заметил, что не существует никаких методов «FreeResource». Например, sf::Font
имеет функцию, называемую LoadFromFile
, но никаких функций для освобождения ресурса нет.Ресурсы, освобождающие SFML
Я думал, что это было очень странно. Я что-то упускаю? Является ли мой единственный способ создать указатель sf::Font
и динамически распределять и удалять его?
Я не знаю, SFML. Но рассмотрим 'std :: vector'; вам когда-либо нужно вручную освобождать эти ресурсы? Нет, это сделано в деструкторе. Я подозреваю то же самое для вас. Обратите внимание: наличие в стеке не отличается от поведения, а не 'new', а затем' delete'. (За исключением теперь ваш код менее безопасен.) Это называется RAII. – GManNickG
Иногда нам нужен один и тот же ресурс в том же контексте, но в другом экземпляре. Если у меня есть 'sf :: Texture', который должен быть больше, я не могу просто изменить его размер: я должен« удалить »его, затем« create (...) »новый. – Litty