0Pricing
C++ Academy · Leçon

Créer des vues

Construire des vues sur des chaînes

Créer des vues est une leçon C++ Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C++ Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C++ Academy comprend 4 leçons au total.

À partir d'une chaîne littérale

La vue la plus simple provient d'une chaîne littérale. Sa longueur est calculée automatiquement.

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

À partir d'un std::string

Un std::string se convertit implicitement en vue, ce qui permet d'observer son contenu sans le copier.

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

À partir d'un pointeur et d'une longueur

Vous pouvez construire une vue à partir d'un pointeur vers des caractères et d'une longueur explicite, ce qui est utile pour les tampons qui ne se terminent pas par un caractère nul.

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

Le suffixe littéral sv

Le suffixe sv, issu de std::string_view_literals, crée directement une vue et gère correctement les caractères nuls intégrés.

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

Découpage avec substr

substr(pos, count) renvoie une nouvelle vue dans le même tampon ; c'est une manière gratuite d'observer une partie du texte.

#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) réduit la vue par l'avant en avançant le pointeur de début ; aucune copie n'est effectuée.

#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) réduit la vue par l'arrière en diminuant sa longueur.

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

Vues empty

Une vue construite par défaut est empty ; empty() renvoie true et size() vaut zéro.

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

Copier une vue est économique

Affecter une vue à une autre ne copie que le pointeur et la longueur ; les deux font toujours référence aux mêmes caractères.

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

Revenir à string

Lorsque vous devez posséder les données, construisez un std::string à partir de la vue ; c'est à ce moment qu'une copie est effectuée, intentionnellement.

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

Choisir une méthode de construction

Utilisez les littérales et la conversion implicite dans les cas courants, la forme pointeur et longueur pour les tampons bruts, et substr/remove_* pour redécouper sans allouer.

Vérification rapide

Vérifiez votre compréhension de la construction des vues.

Récapitulatif

Vous avez appris à créer des vues :

  • À partir de littérales, de chaînes ou d'un pointeur et d'une longueur.
  • Le suffixe sv construit directement des vues.
  • substr, remove_prefix et remove_suffix redécoupent sans coût.
  • Construisez un std::string lorsque vous devez posséder les données.

Questions Fréquemment Posées

La leçon « Créer des vues » est-elle gratuite ?

Oui — le texte complet de « Créer des vues » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C++ Academy, passe à CoddyKit PRO. Le cours C++ Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Créer des vues » ?

Construire des vues sur des chaînes Tu pratiques C++ Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer C++ Academy ?

Aucune expérience préalable n'est requise. C++ Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Créer des vues » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon C++ Academy ?

Oui. Chaque leçon C++ Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Pourquoi utiliser string_view
  2. Créer des vues
  3. Pièges et durées de vie
  4. Algorithmes sur les chaînes
← Retour à C++ Academy