Рассмотрим следующий код:
void loadSprite(Sprite &sprite)
{
Texture texture;
texture.loadFromFile("texture.bmp");
sprite.setTexture(texture);
}
Мне хорошо известно, что данный код некорректен, и целевой спрайт после вызова такой функции при отрисовке будет белым, потому что спрайт ссылается на текстуру, а текстура была локальным объектом функции.
Меня интересует другое.
Почему при отрисовке спрайта отрисовывается белый квадрат, а не падает все приложение из-за ошибки сегментации?
Я могу предположить две причины:
SFML
, то есть при помощи менеджера памяти/ресурсов самой SFML
. Но в этом случае я не совсем понимаю, как спрайты узнают о том, что текстура перестала существовать. То есть, не ясно, как спрайт связывается с текстурой: посредством указателя, ID или еще как-то.Очень хотел бы разобраться в том, как это работает внутри, чтобы лучше понимать, где могут возникнуть проблемы и как их решать.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Я совсем новичок в JS, помогите, пожалуйста, разобраться
Вопрос касательно библиотеки ReactНасколько я знаю, она почти всегда конфликтует с другими библиотеками, работающими с DOM
Как решить проблему убийства процесса запущенного из определённой папки ?