Última actualización:2026-10-12
Preguntas de entrevista sobre STL string, explicadas¶
Hoy comparto una pregunta de entrevista relacionada con cadenas: hay 4 casos en total; puedes comentar en la zona de mensajes y decir qué ocurre en estos cuatro puntos.
std::string debería resultar muy familiar; std::string_view es una vista introducida a partir de C++17 — si no la conoces, puedes consultarla. Abajo hay dos literales: uno de tipo string y otro de tipo string_view, representados con s y sv.
Las dos primeras preguntas son funciones que devuelven un std::string_view, pero con una diferencia: una se basa en una cadena de estilo C y la otra en un string.
Las dos últimas preguntas construyen a partir de un literal de string y de un literal de string_view.
Bien, el problema queda planteado; nos vemos en la zona de comentarios~
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
Temas relacionados¶
- Análisis del código fuente de STL array | C++那些事
- Análisis profundo de STL string | C++那些事
- Análisis del código fuente de STL deque | C++那些事
- STL optimización de clase base vacía EBO | C++那些事
- STL implementación de una tabla hash escrita a mano | C++那些事
- STL hashtable tabla hash | C++那些事
- Análisis del código fuente de los iteradores STL | C++那些事
- Análisis del código fuente de STL list | C++那些事
- STL map y multimap | C++那些事
- Análisis del código fuente de STL queue y stack | C++那些事