ExpertiDict

C++ · Intermediário · Inglês · Técnico

string view

stɹɪŋ vjuːsubstantivo

Visão leve, do C++17, de uma sequência de caracteres que já existe: guarda só ponteiro e tamanho, sem copiar nem ser dona do texto. Aceita std::string e literais.

Onde usar

Usada como tipo de parâmetro em funções que só leem texto, evitando cópias e alocações. O risco é a visão sobreviver ao texto original e virar ponteiro pendurado.

Em código

void ver(std::string_view s) {
  std::cout << s.substr(0, 3);
}
ver("abcdef");        // sem cópia
std::string t = "xyz";
ver(t);               // sem cópia

Exemplos

Take a string view, you only need to read it.

Receba um string view, você só precisa ler.

That string view points to a temporary that's already gone.

Esse string view aponta para um temporário que já sumiu.

Cuidado

string_view não garante terminador nulo, então não deve ser passada a APIs de C que esperam uma string terminada em zero.

Sinônimos

visão de string

Veja também

Todos os termos de C++