C++ Academy · Les

Views maken

Bouw views over strings

Les 2 van 413 stappen

Views maken is een gratis C++ Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject C++ Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus C++ Academy bevat in totaal 4 lessen.

Van een stringliteral

De eenvoudigste view komt van een stringliteral. De lengte wordt automatisch berekend.

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

Van een std::string

Een std::string wordt impliciet naar een view geconverteerd, zodat je de inhoud kunt bekijken zonder te kopiëren.

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

Van pointer en lengte

Je kunt een view maken van een pointer naar tekens en een expliciete lengte. Dat is handig voor buffers die niet nulbeëindigd zijn.

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

Het sv-literalsuffix

Het suffix sv uit std::string_view_literals maakt rechtstreeks een view en verwerkt ingebedde nultekens correct.

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

Snijden met substr

substr(pos, count) retourneert een nieuwe view in dezelfde buffer. Zo kun je kosteloos een deel van de tekst bekijken.

#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) verkleint de view aan de voorkant door de startpointer vooruit te zetten; er wordt niets gekopieerd.

#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) verkleint de view aan de achterkant door de lengte te verminderen.

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

Lege views

Een view die met de standaardconstructor is gemaakt, is leeg; empty() retourneert true en size() is nul.

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

Een view kopiëren is goedkoop

Als je de ene view aan een andere toewijst, worden alleen de pointer en de lengte gekopieerd. Beide verwijzen nog steeds naar dezelfde tekens.

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

Terug converteren naar string

Wanneer je eigenaar van de gegevens moet worden, maak je een std::string van de view. Op dat moment vindt bewust een kopie plaats.

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

Een constructiemethode kiezen

Gebruik literals en impliciete conversie voor alledaagse gevallen, de vorm met pointer en lengte voor onbewerkte buffers, en substr/remove_* om opnieuw te snijden zonder geheugentoewijzing.

Snelle controle

Controleer je begrip van het maken van views.

Samenvatting

Je hebt geleerd hoe je views maakt:

  • Van literals, tekenreeksen of een pointer plus lengte.
  • Het suffix sv maakt rechtstreeks views.
  • substr, remove_prefix en remove_suffix snijden opnieuw zonder geheugentoewijzing.
  • Maak een std::string wanneer je eigenaar van de gegevens moet worden.
Gratis beginnen

Leer C++ met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
51
Lessen
203

Veelgestelde vragen

Is de les “Views maken” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad C++ Academy, waaronder “Views maken”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus C++ Academy bevat in totaal 4 lessen.

Wat leer ik in “Views maken”?

Bouw views over strings Je oefent met C++ Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met C++ Academy te beginnen?

Ervaring vooraf is niet nodig. C++ Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Views maken”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over C++ Academy?

Ja. Elke les over C++ Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Waarom string_view
  2. Views maken
  3. Valkuilen en levensduur
  4. Stringalgoritmen
← Terug naar C++ Academy