Should I return std::string or const char* from a getter?

Return the string.

I think the better abstraction is worth it. Until you can measure a meaningful performance difference, I’d argue that it’s a micro-optimization that only exists in your imagination.

It took many years to get a good string abstraction into C++. I don’t believe that Bjarne Stroustroup, so famous for his conservative “only pay for what you use” dictum, would have permitted an obvious performance killer into the language. Higher abstraction is good.

Leave a Comment

tech