J'ai joué avec la std::string_view
bibliothèque et j'ai envisagé de changer une base de code sur laquelle je travaillais pour utiliser std::string_view
autant que possible. Cependant, dans de nombreux threads que j'ai lus sur le sujet de quand et où utiliser à la std::string_view
place de const std::string &
. J'ai vu de nombreuses réponses dire: «Lorsque vous n'avez pas besoin d'une chaîne terminée par un caractère nul». Alors, comme j'ai commencé à chercher sur le Web, "quand avez-vous besoin d'une chaîne terminée par un caractère nul?" Je n'ai pas vraiment trouvé de réponses utiles sur le sujet.
Je peux penser à un exemple de bibliothèque externe que vous lierez à qui nécessite un std::string
. Et dans ce cas, vous auriez besoin d'une chaîne terminée par null puisque cette bibliothèque l'exige. Je suppose qu'un autre exemple serait si vous devez modifier la chaîne elle-même, mais nous ne la passerions pas const &
si nous avions besoin de la modifier.
Alors, quand auriez-vous besoin d'utiliser une chaîne terminée par null?
Liens que j'ai consultés:
const char*
argument. La réponse de eerorika a un exemple.