Je to dvojsečný. Když něco někde naparsuju a pak to tahám po všech čertech, tak se to pořád kopíruje a kopíruje se toho víc, než jen pointer. Ale já zapoměl, std::string je mutabilní, takže jsem ho před drahnou dobu přestal používat. Mám vlastní implementaci a není to jeden objekt, už kvůli tomu, že na každou věc se hodí něco jiného.
Třeba stringview které se chystá do C++17 už mám ve vlastní verzi několik let a hodně věci se tím zjednoduší a zrychlí.