Nossa equipe está trabalhando com uma base de código C ++ com mais de 10 anos e recentemente mudou para um compilador C ++ 17. Então, estamos procurando maneiras de modernizar nosso código. Em uma conferência no YouTube, ouvi a sugestão de substituir const char*
as cordas globais por constexpr string_view
.
Como temos um número considerável dessas const char*
constantes globais de string em nosso código, quero perguntar se há alguma dica ou problema em potencial que precisamos estar cientes?
fonte
std::string(sv).c_str()
ao passar para a API?someLegacyFct(std::string(sv).c_str())
e este backend de alguma forma armazena o ponteiro ...const char*
construtor explícito . Portanto, a construção explícita destd::string
fromstring_view
seria consistente no nosso caso.