Última atualização:2026-10-12
Questões de entrevista sobre STL string explicadas¶
Hoje trago para compartilhar uma questão de entrevista relacionada a strings, com um total de 4 casos; você pode comentar na área de comentários dizendo o que acontece nesses quatro pontos.
Todo mundo deve conhecer bem a std::string; a std::string_view é uma visão introduzida a partir do C++17 — quem não a conhece pode pesquisar. Abaixo há dois literais, respectivamente um literal de string e um literal de string_view, representados por s e sv.
As duas primeiras questões são funções que retornam uma std::string_view, mas com algumas diferenças: uma é baseada em uma c-style string, e a outra, em uma string.
As duas últimas questões são construídas a partir de um literal de string e de um literal de string_view.
Bem, o problema está descrito; nos vemos na área de comentários~
std::string_view getBar() {
std::string b{"it is bar."};
return b;
}
std::string_view getFoo() {
return "It is foo.";
}
using namespace std::string_literals;
using namespace std::string_view_literals;
std::cout << getFoo() << std::endl; // 1
std::cout << getBar() << std::endl; // 2
std::string_view svf{"Hello foo"s};
std::cout << svf << std::endl; // 3
std::string_view svff{"Hello foo"sv};
std::cout << svff << std::endl; // 4
Tópicos relacionados¶
- Análise do código-fonte do STL array | C++那些事
- Análise aprofundada do STL string | C++那些事
- Análise do código-fonte do STL deque | C++那些事
- STL otimização de classe base vazia EBO | C++那些事
- STL implementação manual de tabela hash | C++那些事
- STL hashtable tabela hash | C++那些事
- Análise do código-fonte dos iteradores da STL | C++那些事
- Análise do código-fonte do STL list | C++那些事
- STL map e multimap | C++那些事
- Análise do código-fonte do STL queue e stack | C++那些事