0Pricing
C++ Academy · Lezione

Creare viste

Creare viste sulle stringhe

Creare viste è una lezione C++ Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C++ Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C++ Academy include 4 lezioni in totale.

Da una stringa letterale

La view più semplice si ottiene da una stringa letterale. La lunghezza viene calcolata automaticamente.

#include <iostream>
#include <string_view>
int main() {
    std::string_view sv = "automatic length";
    std::cout << sv.size() << "\n";
}

Da una std::string

Una std::string viene convertita implicitamente in una view, consentendo di osservarne il contenuto senza copiarlo.

#include <iostream>
#include <string>
#include <string_view>
int main() {
    std::string s = "owned text";
    std::string_view sv = s;
    std::cout << sv << "\n";
}

Da puntatore e lunghezza

È possibile creare una view a partire da un puntatore a caratteri e da una lunghezza esplicita, una soluzione utile per i buffer che non terminano con il carattere nullo.

#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
}

Il suffisso letterale sv

Il suffisso sv, proveniente da std::string_view_literals, crea direttamente una view e gestisce correttamente i caratteri nulli incorporati.

#include <iostream>
#include <string_view>
using namespace std::string_view_literals;
int main() {
    auto sv = "ready"sv;
    std::cout << sv.size() << "\n";
}

Suddividere con substr

substr(pos, count) restituisce una nuova view nello stesso buffer, permettendo di esaminare una parte del testo senza alcuna allocazione.

#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) riduce la view dalla parte iniziale spostando in avanti il puntatore d'inizio, senza effettuare copie.

#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) riduce la view dalla parte finale diminuendone la lunghezza.

#include <iostream>
#include <string_view>
int main() {
    std::string_view sv = "data.csv";
    sv.remove_suffix(4);
    std::cout << sv << "\n"; // data
}

View vuote

Una view costruita con il costruttore predefinito è vuota; empty() restituisce true e size() è uguale a zero.

#include <iostream>
#include <string_view>
int main() {
    std::string_view sv;
    std::cout << sv.empty() << " " << sv.size() << "\n";
}

Copiare una view è economico

Assegnare una view a un'altra copia soltanto il puntatore e la lunghezza; entrambe continuano a riferirsi agli stessi caratteri.

#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
}

Convertire di nuovo in string

Quando deve possedere i dati, costruisca una std::string a partire dalla view; è in questo punto che avviene intenzionalmente una copia.

#include <iostream>
#include <string>
#include <string_view>
int main() {
    std::string_view sv = "copy me";
    std::string owned{sv};
    std::cout << owned << "\n";
}

Scegliere un metodo di costruzione

Usi le stringhe letterali e la conversione implicita nei casi comuni, la forma puntatore+lunghezza per i buffer grezzi e substr/remove_* per modificare la sezione osservata senza allocare.

Verifica rapida

Verifichi la propria comprensione della creazione delle view.

Riepilogo

Ha imparato a creare view:

  • A partire da stringhe letterali, stringhe oppure puntatore+lunghezza.
  • Il suffisso sv crea direttamente le view.
  • substr, remove_prefix e remove_suffix consentono di modificare la sezione osservata senza costi.
  • Costruisca una std::string quando deve possedere i dati.

Domande Frequenti

La lezione «Creare viste» è gratuita?

Sì — il testo completo di «Creare viste» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C++ Academy, passa a CoddyKit PRO. Il corso C++ Academy include 4 lezioni in totale.

Cosa imparerò in «Creare viste»?

Creare viste sulle stringhe Eserciti C++ Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare C++ Academy?

Non è richiesta alcuna esperienza precedente. C++ Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Creare viste»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione C++ Academy?

Sì. Ogni lezione C++ Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Perché usare string_view
  2. Creare viste
  3. Insidie e durata degli oggetti
  4. Algoritmi per stringhe
← Torna a C++ Academy