Получив string_view в C ++ 17 мы получили дешевый метод передачи обоих std :: string и char* к функциям, которые не берут на себя ответственность за строку, и не позволяют создавать временные копии. Используя std :: string , передаваемая по значению и std :: move мы получаем явное и быстрое передаче владения строк как для ссылок на r-значения, так и для L-значения.
Подробнее здесь: https://stackoverflow.com/questions/579 ... nts-in-c17