It takes a sprite, generates vertices from it and stores them in array. You have to redraw each sprite every frame.
As I understood, you want something different: keep track of all the sprites and update vertices only when something changes. The problem i see here, is that SFML doesn't support depth buffer, so each time you want to remove sprite(or insert it behind existing one), you have to rewrite both arrays (or implement depth buffer).