Ich habe mit der std::string_view
Bibliothek herumgespielt und darüber nachgedacht, eine Codebasis zu ändern, an der ich gearbeitet habe, um std::string_view
so viel wie möglich zu verwenden. In vielen Threads, die ich zum Thema gelesen habe, wann und wo ich es verwenden soll, std::string_view
anstatt const std::string &
. Ich habe viele Antworten gesehen, die sagten: "Wenn Sie keine nullterminierte Zeichenfolge benötigen." Als ich anfing, im Internet nach "Wann brauchen Sie eine nullterminierte Zeichenfolge?" Zu suchen. Ich habe keine wirklich hilfreichen Antworten zu diesem Thema gefunden.
Ich kann mir ein Beispiel für eine externe Bibliothek vorstellen, auf die Sie verlinken werden std::string
. In diesem Fall benötigen Sie eine nullterminierte Zeichenfolge, da diese Bibliothek dies erfordert. Ich denke, ein anderes Beispiel wäre, wenn Sie den String selbst ändern müssten, aber dann würden wir ihn nicht weitergeben, const &
wenn wir ihn ändern müssten .
Wann müssten Sie also eine nullterminierte Zeichenfolge verwenden?
Links, die ich mir angesehen habe:
const char*
Argument an. eerorikas anwer hat ein beispiel.