Я экспериментировал с библиотекой std::string_view
и подумывал об изменении кодовая база, над которой я работал, чтобы максимально использовать std::string_view
. Однако во многих темах, которые я читал, обсуждалось, когда и где использовать std::string_view
вместо const std::string &
. Я видел много ответов, говорящих: «Когда вам не нужна строка с нулевым завершением». Итак, когда я начал искать в Интернете, «когда вам нужна строка с завершающим нулем?» Я действительно не встречал каких-либо полезных ответов по этому вопросу.
Я могу придумать пример внешней библиотеки, на которую вы ссылаетесь, для которой требуется файл std::string
. И в этом случае вам понадобится строка с нулевым завершением, так как эта библиотека требует этого. Я предполагаю, что другим примером может быть, если вам нужно изменить саму строку, но тогда мы бы не передали ее const &
, если бы нам нужно было ее изменить.
Итак, когда вам нужно использовать строку с нулевым завершением?
Ссылки, которые я смотрел:
const char*
. В ответе ээрорики есть пример. - person walnut   schedule 22.11.2019