Venho brincando com a std::string_view
biblioteca e estou pensando em mudar uma base de código em que tenho trabalhado para usar std::string_view
o máximo possível. No entanto, em muitos dos tópicos que li sobre o assunto de quando e onde usar em std::string_view
vez de const std::string &
. Eu já vi muitas respostas dizerem: "Quando você não precisa de uma sequência terminada nula". Então, quando comecei a pesquisar na web, "quando você precisa de uma string terminada nula?" Eu realmente não encontrei nenhuma resposta útil sobre o assunto.
Posso pensar em um exemplo de uma biblioteca externa à qual você vinculará que requer a std::string
. E, nesse caso, você precisaria de uma sequência terminada nula, pois essa biblioteca exige. Eu acho que outro exemplo seria se você precisasse modificar a string em si, mas não passaríamos const &
se precisássemos modificá-la.
Então, quando você precisaria usar uma string terminada nula?
Links que eu procurei:
const char*
argumento. a resposta de eerorika tem um exemplo.