Opprette views
Bygg views over strenger
Opprette views er en gratis leksjon i C++ Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i C++ Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i C++ Academy inneholder totalt 4 leksjoner.
Fra et strengliteral
Den enkleste viewen kommer fra et strengliteral. Lengden beregnes automatisk.
#include <iostream>
#include <string_view>
int main() {
std::string_view sv = "automatic length";
std::cout << sv.size() << "\n";
}Fra en std::string
En std::string konverteres implisitt til en view, slik at De kan lese innholdet uten å kopiere det.
#include <iostream>
#include <string>
#include <string_view>
int main() {
std::string s = "owned text";
std::string_view sv = s;
std::cout << sv << "\n";
}Fra peker og lengde
De kan opprette en view fra en tegnpeker og en eksplisitt lengde, noe som er nyttig for buffere som ikke er nullterminerte.
#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
}sv-literalets suffiks
Suffikset sv (fra std::string_view_literals) oppretter en view direkte og håndterer innebygde nulltegn korrekt.
#include <iostream>
#include <string_view>
using namespace std::string_view_literals;
int main() {
auto sv = "ready"sv;
std::cout << sv.size() << "\n";
}Utsnitt med substr
substr(pos, count) returnerer en ny view inn i den samme bufferen – en kostnadsfri måte å se på en del av teksten på.
#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) gjør viewen kortere fra begynnelsen ved å flytte startpekeren fremover. Ingen kopiering skjer.
#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) gjør viewen kortere fra slutten ved å redusere lengden.
#include <iostream>
#include <string_view>
int main() {
std::string_view sv = "data.csv";
sv.remove_suffix(4);
std::cout << sv << "\n"; // data
}Tomme views
En view som er opprettet med standardkonstruktøren, er tom. empty() returnerer true, og size() er null.
#include <iostream>
#include <string_view>
int main() {
std::string_view sv;
std::cout << sv.empty() << " " << sv.size() << "\n";
}Det er billig å kopiere en view
Når én view tilordnes en annen, kopieres bare pekeren og lengden. Begge viser fortsatt til de samme tegnene.
#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
}Konvertere tilbake til string
Når De trenger å eie dataene, oppretter De en std::string fra viewen. Det er her kopieringen skjer, med hensikt.
#include <iostream>
#include <string>
#include <string_view>
int main() {
std::string_view sv = "copy me";
std::string owned{sv};
std::cout << owned << "\n";
}Velge konstruksjonsmetode
Bruk literaler og implisitt konvertering i vanlige tilfeller, formen med peker og lengde for råbuffere, og substr/remove_* for å lage nye utsnitt uten allokering.
Kunnskapssjekk
Kontroller forståelsen av hvordan views opprettes.
Oppsummering
De har lært hvordan De kan opprette views:
- Fra literaler, strenger eller peker og lengde.
- Suffikset
svoppretter views direkte. substr,remove_prefixogremove_suffixlager nye utsnitt uten kostnad.- Opprett en
std::stringnår De trenger å eie dataene.
Lær deg C++ med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 51
- Leksjoner
- 203
Ofte stilte spørsmål
Er leksjonen «Opprette views» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien C++ Academy, inkludert «Opprette views», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i C++ Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Opprette views»?
Bygg views over strenger Du øver på C++ Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med C++ Academy?
Ingen tidligere erfaring er nødvendig. C++ Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «Opprette views»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne C++ Academy-leksjonen?
Ja. Alle C++ Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.