Наша команда работает с базой кода C ++ более 10 лет и недавно перешла на компилятор C ++ 17. Поэтому мы ищем способы модернизировать наш код. В ходе конференции на YouTube я услышал предложение заменить const char*
глобальные строки на constexpr string_view
.
Поскольку const char*
в нашем коде есть довольно много таких глобальных строковых констант, я хочу спросить, есть ли какие-то ошибки или потенциальные проблемы, о которых нам нужно знать?
источник
std::string(sv).c_str()
вместо этого перейти на API?someLegacyFct(std::string(sv).c_str())
и этот бэкэнд каким-то образом хранит указатель ...const char*
конструктором. Так что явная конструкцияstd::string
fromstring_view
будет просто последовательной в нашем случае.