I think these methods are marginally more efficient if they stay as const char *.  Returning a const string is implicitly constructing a string object in memory, vs just returning a pointer to const text.  In most cases the caller doesn't need the std::string.