I'm not really into pointers but as an avid SFML user I can tell you from experience that you do not want to use pointers with Textures but if you are going to do it, do it with smart pointers. This happens due to the fact that sprites are a mere pointer to the Texture so when using normal pointers its easy to mess things up.
Just read the SFML documentation... This object will be "alive" during the entire main function, so I think this will work. Ill just be careful to kill the sprite before the texture dies... Wow my c++ terminology is very morbid
I'm not saying it won't work. For experience I find that I often re-use my objects in different functions and even when I do use pointers, I use smart pointers. I'm not deferring the use of pointers, I'm merely pushing the use of smart pointers since these, as the name states are smarter and prevent memory allocation problems. If you want to use pointers, use them but please use smart pointers.
Umm.. Polymorphism? You have to use pointers eventually. Also, to use this in a class I have to use pointers or declare the thing as public, but since I prefer a getter and setter I use a pointer here. But I see your point (pun somewhat intended)