Creación de vistas
Construya vistas sobre cadenas
Creación de vistas es una lección gratuita de C++ Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C++ Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C++ Academy incluye 4 lecciones en total.
A partir de un literal de cadena
La vista más sencilla se obtiene de un literal de cadena. La longitud se calcula automáticamente.
#include <iostream>
#include <string_view>
int main() {
std::string_view sv = "automatic length";
std::cout << sv.size() << "\n";
}A partir de un std::string
Un std::string se convierte implícitamente en una vista, lo que permite observar su contenido sin copiarlo.
#include <iostream>
#include <string>
#include <string_view>
int main() {
std::string s = "owned text";
std::string_view sv = s;
std::cout << sv << "\n";
}A partir de un puntero y una longitud
Puede crear una vista a partir de un puntero a caracteres y una longitud explícita, algo útil para búferes que no terminan en nulo.
#include <iostream>
#include <string_view>
int main() {
const char buf[] = {'H','e','l','l','o','!'};
std::string_view sv(buf, 5);
std::cout << sv << "\n"; // Hello
}El sufijo literal sv
El sufijo sv (de std::string_view_literals) crea una vista directamente y gestiona correctamente los caracteres nulos insertados.
#include <iostream>
#include <string_view>
using namespace std::string_view_literals;
int main() {
auto sv = "ready"sv;
std::cout << sv.size() << "\n";
}Dividir con substr
substr(pos, count) devuelve una vista nueva del mismo búfer; permite consultar una parte del texto sin coste ni copias.
#include <iostream>
#include <string_view>
int main() {
std::string_view sv = "2026-05-30";
std::cout << sv.substr(0, 4) << "\n"; // 2026
}remove_prefix
remove_prefix(n) reduce la vista por el principio adelantando el puntero inicial; no interviene ninguna copia.
#include <iostream>
#include <string_view>
int main() {
std::string_view sv = " trimmed";
sv.remove_prefix(3);
std::cout << sv << "\n"; // trimmed
}remove_suffix
remove_suffix(n) reduce la vista por el final disminuyendo su longitud.
#include <iostream>
#include <string_view>
int main() {
std::string_view sv = "data.csv";
sv.remove_suffix(4);
std::cout << sv << "\n"; // data
}Vistas vacías
Una vista construida por defecto está vacía; empty() devuelve true y size() es cero.
#include <iostream>
#include <string_view>
int main() {
std::string_view sv;
std::cout << sv.empty() << " " << sv.size() << "\n";
}Copiar una vista es económico
Asignar una vista a otra solo copia el puntero y la longitud; ambas siguen haciendo referencia a los mismos caracteres.
#include <iostream>
#include <string_view>
int main() {
std::string_view a = "shared";
std::string_view b = a;
b.remove_prefix(3);
std::cout << a << " " << b << "\n"; // shared red
}Convertir de nuevo a string
Cuando necesite ser propietario de los datos, construya un std::string a partir de la vista; este es el momento en que se realiza la copia, de forma intencionada.
#include <iostream>
#include <string>
#include <string_view>
int main() {
std::string_view sv = "copy me";
std::string owned{sv};
std::cout << owned << "\n";
}Elegir un método de construcción
Use literales y la conversión implícita en los casos habituales, la forma de puntero y longitud para búferes sin procesar, y substr/remove_* para volver a dividir sin reservar memoria.
Comprobación rápida
Compruebe su comprensión de la creación de vistas.
Resumen
Ha aprendido a crear vistas:
- A partir de literales, cadenas o un puntero y una longitud.
- El sufijo
svcrea vistas directamente. substr,remove_prefixyremove_suffixpermiten volver a dividir sin coste.- Construya un
std::stringcuando necesite ser propietario de los datos.
Preguntas frecuentes
¿La lección «Creación de vistas» es gratis?
Sí — el texto completo de «Creación de vistas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C++ Academy, actualiza a CoddyKit PRO. El curso de C++ Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Creación de vistas»?
Construya vistas sobre cadenas Practicas C++ Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar C++ Academy?
No se requiere experiencia previa. C++ Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Creación de vistas»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de C++ Academy?
Sí. Cada lección de C++ Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Por qué usar string_view
- Creación de vistas
- Errores y tiempos de vida
- Algoritmos de cadenas