There are weird places, such as checking if sf::String length is more than 0 before iterating through it and adding characters (as if there is something to iterate through if length is 0) instead of just letting the iteration do 0 passes.
Taking size of std::string::value_type or char (which is always 1).
Sometimes (so not always, some functions do, some don't ie. <<std::string does, <<const char * doesn't) checking if length in bytes of data is 0 before passing it to append, while append ignores data of 0 length anyway.