typestar

string_view en C++

Una ventana a los caracteres de otro: subcadenas sin copias, verificadas en tiempo de compilación.

#include <string_view>

constexpr std::string_view greeting = "Hello, typestar!";

constexpr std::string_view first_word(std::string_view text) {
    return text.substr(0, text.find(' '));
}

static_assert(first_word(greeting) == "Hello,");
static_assert(greeting.substr(7).starts_with("type"));
static_assert(greeting.ends_with('!'));

Cómo funciona

  1. std::string_view apunta a caracteres existentes — greeting no posee nada y no copia nada.
  2. substr y find devuelven vistas nuevas sobre el mismo buffer: first_word nunca reserva memoria.
  3. Cada operación aquí es constexpr, y static_assert prueba el rebanado en tiempo de compilación.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
11
Caracteres a escribir
331
Tokens
87
Ritmo de tres estrellas
75 tpm

Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 70 segundos.

Escribe este fragmento

Paso 1 de 3 en Cadenas y streams; paso 19 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →