Size: a a a

2020 April 24

АК

Александр Караев in pro.cxx
Alex
В общем, вопрос мой такой: void consumeString(const std::string_view& v) или void consumeString(std::string_view v)?
Исключительно по значению
источник

Е

Егор in pro.cxx
Alex
В общем, вопрос мой такой: void consumeString(const std::string_view& v) или void consumeString(std::string_view v)?
а зачем вьюшку по константной ссылке если можно просто строку по константной ссылке?
источник

IS

Iskander Saitbatalov in pro.cxx
Егор
а зачем вьюшку по константной ссылке если можно просто строку по константной ссылке?
А если она const char * и не null терменированная? :)
источник

A

Alex in pro.cxx
Iskander Saitbatalov
А если она const char * и не null терменированная? :)
а как здесь вью поможет?
источник

A

Alex in pro.cxx
Егор
а зачем вьюшку по константной ссылке если можно просто строку по константной ссылке?
всё просто - нужно принять именно view, такой объект мне дали
источник

A

Alex in pro.cxx
у меня уже был метод для std::string, хочу просто заменить на view
источник

A

Alex in pro.cxx
Александр Караев
Исключительно по значению
А почему так, насколько это важно?
Довольно странно передавать не по ссылке то, что не примтивный тип и что не имеет мув конструктора, по-моему
источник

IS

Iskander Saitbatalov in pro.cxx
Alex
а как здесь вью поможет?
Вопрос был не к тебе. А к тому, кто предложил отправлять строку напрямую. Но раз уж ты его задал, значит ты не понимаешь. Отвечаю. string_view хранит размер строки и она тебе даст эту информацию, чтобы ты не шел в надежде.
источник

Е

Егор in pro.cxx
Iskander Saitbatalov
А если она const char * и не null терменированная? :)
кто? не понял вопроса
источник

IS

Iskander Saitbatalov in pro.cxx
Егор
кто? не понял вопроса
Строка.
источник

A

Alex in pro.cxx
я тоже так и не понял, если куда-то передать const char* без терминатора - будет ой, как ни крути. Или отдельно размер передавать рядом.
источник

Е

Егор in pro.cxx
а строка это кто?
источник

IS

Iskander Saitbatalov in pro.cxx
Егор
а строка это кто?
const char *
источник

DC

Denis Chernikov in pro.cxx
Alex
А почему так, насколько это важно?
Довольно странно передавать не по ссылке то, что не примтивный тип и что не имеет мув конструктора, по-моему
Бывают вещи, которые слишком компактны, чтобы передавать их по ссылке куда-то. Лучше их копировать. string_view очень компактный, и вряд ли вырастет :)
источник

A

Alex in pro.cxx
без терминатора это, простите. не строка
источник

Е

Егор in pro.cxx
ну а зачем тут ссылки, я про std::string говорил
источник

DC

Denis Chernikov in pro.cxx
Alex
я тоже так и не понял, если куда-то передать const char* без терминатора - будет ой, как ни крути. Или отдельно размер передавать рядом.
Для этого тоже очень хорошо подходит string_view, ибо создаётся из const char * и size_t (насколько помню)
источник

MS

Mishel Spartak in pro.cxx
Кто прям проф в С++?
источник

MS

Mishel Spartak in pro.cxx
В лс отпишитесь
источник

MS

Mishel Spartak in pro.cxx
Нужна помощь срочно
источник