0Pricing
C++ Academy · Lección

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 sv crea vistas directamente.
  • substr, remove_prefix y remove_suffix permiten volver a dividir sin coste.
  • Construya un std::string cuando 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

  1. Por qué usar string_view
  2. Creación de vistas
  3. Errores y tiempos de vida
  4. Algoritmos de cadenas
← Volver a C++ Academy