Notre équipe travaille avec une base de code C ++ de 10 ans et plus et est récemment passée à un compilateur C ++ 17. Nous recherchons donc des moyens de moderniser notre code. Lors d'une conférence sur YouTube, j'ai entendu la suggestion de remplacer const char*
les chaînes mondiales par constexpr string_view
.
Étant donné que nous avons un certain nombre de ces const char*
constantes de chaîne globales dans notre code, je veux demander s'il y a des problèmes ou des problèmes potentiels dont nous devons être conscients?
la source
std::string(sv).c_str()
plutôt pour passer à l'API?someLegacyFct(std::string(sv).c_str())
et que ce backend stocke en quelque sorte le pointeur ...const char*
constructeur explicite . Donc, la construction explicite destd::string
fromstring_view
serait juste cohérente dans notre cas.