кувыркается с ним как хочет
плюсовое апи, которое смотрит на строку? string_view, тоже один раз и дальше этот указатель уже есть
даже если формально эта операция в коде написана как повторяющаяся часто (например, мы вместо указателей в строку зачем-то сохранили индексы и обращаемся к строке по ним, или предположили фиксированную кодировку и делаем operator[]), то эта операция всё равно может быть оптимизирована до одного взятия указателя и потом применению сдвига
мой посыл в том, что по факту код обязан часто делать полную работу data() только в том случае, если сама строка каждый раз меняется и подлежит потенциальной релокации (на фоне которой этот бранч в data()... ну вы сами понимаете)
а следовательно добавить в data() бранч не должно быть страшно
а зачем тебе +шаг с конверсией в стрингвью
Обсуждают сегодня