Should I stick to std::string in every case?
There are cases where std::string
isn't needed and just a plain char const*
will do. However you do get other functionality besides manipulation, you also get to do comparison with other strings and char arrays, and all the standard algorithms to operate on them.
I would say go with std::string
by default (for members and variables), and then only change if you happen to see that is the cause of a performance drop (which it won't).