Venho brincando com a std::string_viewbiblioteca e estou pensando em mudar uma base de código em que tenho trabalhado para usar std::string_viewo máximo possível. No entanto, em muitos dos tópicos que li sobre o assunto de quando e onde usar em std::string_viewvez 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.