String literals are specified to have static storage duration. That means references are valid at least until main returns. In practice string literals are immortal and references to them are always valid.
In particular, my comment was referring to “return std::to_string(number);”