Lær C++ i praksis-appikon

Lær C++ i praksis

Utdanning · Gratis · iOS & Android · CoddyKit

Lær C++ i praksis — C++-koding du skriver, kompilerer og kjører fra telefonen

Lær C++ i praksis er en gratis iOS- og Android-app for nybegynnere, informatikkstudenter og utviklere som vil lære C++ ved å skrive det. Den innebygde editoren sender koden din til en ekte GCC-kompilator og viser resultatet og avslutningskoden, mens en AI Mentor gjør kompilatorfeil forståelige. 51 kurs og 200+ korte leksjoner tar deg fra din første cout til klasser, STL, move semantics og C++20.

App Store — Last ned gratisGoogle Play — Last ned gratis
Pris
Gratis, Pro-oppgradering
Plattformer
iOS og Android
Språk
22
Aldersgrense
4+
Krever
iOS 15.1 eller nyere
App Store
4.9 ★ (7)
Hjem-skjermen i C++-appen med det arabiske grensesnittet, med en Start first lesson-knapp, et daglig mål, nedtelling til World Coding Challenge og snarveiene Ask Mentor og Generate your lessonUtfordringsfanen i det arabiske grensesnittet viser World Coding Challenge, en C++-utfordring fra det aktive kurset og et alternativ for å bli med med kode
51Kurs og 200+ leksjoner
GCCEkte kompilator i editoren
3/dagTre daglige øvelsesvaner
Pekere er bare skumle frem til leksjon tolv.

C++ har rykte på seg for å være umulig å lære, men mye av dette skyldes at man får presentert alt på én gang: eierskap, heapen, templates og STL på dag én. Fordelt på 51 korte kurs kommer det samme materialet lagvis, og hver idé avsluttes med kode du kompilerer og kjører selv.

Hva det er

Lær C++ i praksis er en gratis iOS- og Android-app som lærer deg C++ fra din første cout til klasser, STL, move semantics og moderne C++20. Den har 51 kurs og 200+ korte leksjoner fordelt på fem spor (grunnleggende, minne, objekter, STL og bygging av virkelige programmer), en editor som kompilerer med en ekte GCC-kompilator, 20 veiledede prosjekter, 60 kodeoppdrag og en AI Mentor med feiloversetter.

Inne i appen

Slik ser den ut

Hjem-skjermen i C++-appen med det arabiske grensesnittet, med en Start first lesson-knapp, et daglig mål, nedtelling til World Coding Challenge og snarveiene Ask Mentor og Generate your lesson
HjemHjem-skjermen viser kurskortet med en startknapp, det daglige målet og en nedtelling til neste runde av World Coding Challenge, med snarveier til AI Mentor og generering av leksjoner. Skjermbildet bruker det arabiske grensesnittet.
Utfordringsfanen i det arabiske grensesnittet viser World Coding Challenge, en C++-utfordring fra det aktive kurset og et alternativ for å bli med med kode
UtfordringsfanenI Utfordringsfanen åpnes World Coding Challenge. Her kan du starte en kamp fra det aktive C++-kurset, utforske andre utfordringer eller bli med på en med en kode.
Profilsiden i det arabiske grensesnittet med en teller for daglig rekke, et 90-dagers aktivitetskart og et rutenett med prestasjonsmerker
Rekke og merkerProfilen holder oversikt over den daglige rekken, et 90-dagers aktivitetskart og prestasjonsmerker – det som gjør at korte økter blir regelmessige.
AI chat screen asking How can I help you, with suggested prompts to explain the key concepts, give tips, quiz you and create a learning roadmap
AI chatThe AI chat answers questions and starts from suggestions: explain the key concepts, share tips, quiz you or build a learning roadmap.
Learn C++ home screen with the C++ Academy course card, Start First Lesson, a daily goal ring, a Feature Request row and the Skill Hub
HomeThe home screen up close: the C++ Academy course card with Start First Lesson, a daily goal ring, a Feature Request row and the Skill Hub.

Kurset

Dette dekker C++-kurset

51 kurs fra appens eget læreprogram, fra det første kompilerte programmet til låsefri samtidighet og coroutines.

  1. Syntaks, strenger og kontrollflyt

    Du setter opp en compiler og kjører det første programmet, før du går videre til variabler og typeinferens, std::string sammenlignet med char-arrayer i C-stil, input- og output-strømmer og kontrollflytmønstrene alle senere kurs bygger på.

  2. Structs, vektorer og miniprosjekter

    En introduksjon til structs og klasser, arbeid med tall og matematikk, vektorer og dynamiske arrayer, pass-by-reference og små praktiske prosjekter som setter delene sammen.

  3. Minne, RAII og tryggere alternativer til råpekere

    Minnemodellen med stack kontra heap, RAII og ressursstyring, exception handling og noexcept, const-korrekthet, trygg bruk av pekere og smartpekere som det moderne alternativet til manuell new og delete.

  4. Moderne typer, containere og objektorientert design

    Enums, unions og std::variant, std::optional og std::expected, std::string_view og std::span, assosiative containere og hashing med unordered_map, arv og polymorfisme samt operatoroverlasting for brukerdefinerte typer.

  5. Byggeverktøy, fil-I/O og standardbiblioteket

    Bygging med CMake og pakkehåndtering, fil-I/O med fstream, chrono-biblioteket for tid og mønstergjenkjenning med regex-headeren – delene av C++ som knytter koden til filsystemet og klokken.

  6. STL og moderne C++11 til C++20

    En gjennomgang av endringene fra C++11 til C++20, move semantics og rvalue-referanser, lambdas og std::function, STL-algoritmer, iteratorer og ranges samt feilsøking med sanitizers.

  7. Templates, ytelse og systemprogrammering

    Samtidighetsprimitiver, templatespesialisering og SFINAE, avanserte templates og metaprogrammering, C++20 concepts, ytelsesprofilering og utforming av en biblioteks offentlige API.

  8. Avansert samtidighet og coroutines

    Låsefri programmering og atomics for tilfeller der en mutex er for treg, samt C++20 coroutines, språkets nyeste tillegg, som læres til slutt fordi alt før dette er en forutsetning.

Slik fungerer det

Slik fungerer en C++-økt

Hver økt kombinerer en kort leksjon med kode du kjører, i tillegg til noen daglige øvelser som holder syntaksen frisk.

  1. Les én kort leksjon

    Åpne et kurs og ta én enkelt leksjon om én idé, for eksempel en struct, en referanse eller en smartpeker. Det første kurset er gratis, slik at du kan se hvordan leksjonene føles før du bestemmer deg.

  2. Skriv, kompiler og kjør

    Skriv inn koden i mobil-editoren og kjør den. En ekte GCC-kompilator bygger den og returnerer resultatet og avslutningskoden, og programmer som leser fra cin får et sted der du kan skrive inndata. Siden kompilatoren kjører eksternt, trenger du en tilkobling for å kjøre kode.

  3. Hold kunnskapene ved like med daglige øvelser og AI Mentor

    Forutsi resultatet av fem korte programmer, fiks ett ødelagt program i dagens feiljakt, eller spill Syntax Sprint på 60 sekunder. Når en feil er uforståelig, limer du den inn i AI Mentor og får den forklart i én setning, sammen med linjen som må fikses.

Hva den inneholder

Dette får du med appen

51

Kurs og 200+ leksjoner

Et kurskart samler kursene i fem spor: grunnleggende, minne, objekter, STL og bygging av virkelige programmer. Emnene går fra variabler og strømmer via pekere, RAII og templates til CMake, samtidighet og coroutines.

GCC

Ekte kompilator i editoren

Koden bygges av en ekte GCC-kompilator, ikke en simulator. Du ser resultatet og avslutningskoden, kan sende inndata til programmer som leser fra cin, og kan kjøre på nytt med ett trykk. Hvert program du kjører, lagres.

3/dag

Tre daglige øvelsesvaner

Forutsi resultatet (fem korte programmer om dagen – svar før kompilatoren finner det), dagens feiljakt med gratis hint og en 60-sekunders Syntax Sprint med spørsmål du svarer på med ett trykk.

20

Veiledede prosjekter

Bygg virkelige programmer trinn for trinn, for eksempel et lager, en bankkonto, figurer med polymorfisme, en template-stack, en RPN-kalkulator, en lenket liste og en tilstandsmaskin.

AI

AI Mentor og feiloversetter

Står du fast med en peker eller en vegg av template-feil? Lim inn feilen og få den forklart i én setning, eller spør AI Mentor om hva som helst med vanlig språk.

60

Oppdrag og en verdensutfordring

60 kodeoppdrag fra enkelt til vanskelig, en ny kodeoppgave hver dag og World Coding Challenge – tre direktesendte globale runder om dagen med ledertavle – samt streaks, XP og påminnelser.

Bakgrunn

Hvorfor kjører C++ fortsatt programvaren som ikke har råd til å være treg?

C++ kompileres direkte til maskinkode og gir programmereren direkte kontroll over minnet, slik at ingenting står mellom koden og maskinvaren. Derfor skrives spillmotorer som Unreal, systemer for høyfrekvenshandel, robotikkfastvare og mange komponenter i operativsystemer fortsatt i C++ flere tiår etter at høynivåspråk dukket opp. Den samme kontrollen er også det som gjør språket vanskelig i starten: Et C++-program må uttrykkelig angi hvor en verdi befinner seg, og hvem som har ansvaret for å frigjøre den – arbeid Python eller JavaScript gjør usynlig.

Stack kontra heapminnemodellen

Stack-minne frigjøres automatisk idet en funksjon returnerer, mens heap-minne blir værende til noe uttrykkelig frigjør det. Mange feil nybegynnere støter på, som en hengende peker, en minnelekkasje eller en krasj fordi programmet berører frigjort minne, kan spores tilbake til at disse to blandes sammen.

RAIIC++ sin egen sikkerhetsmekanisme

Resource Acquisition Is Initialization knytter levetiden til en ressurs til konstruktøren og destruktøren til et objekt, slik at ressursen frigjøres automatisk når objektet går ut av scope. Smartpekere er RAII brukt på minne, og dette idiomet gjør moderne C++ langt sikrere enn koden med rå pekere som det erstattet.

STLverktøykassen under språket

Standard Template Library samler containere som vector, map og unordered_map, samt iteratorer og algoritmer som allerede implementerer sortering, søking og transformering. Når du velger STL i stedet for å lage en lenket liste fra bunnen av, er det da C++ slutter å føles som manuelt arbeid.

Templateskode som fungerer med alle typer

En template lar én funksjon eller klasse fungere med alle typer kompilatoren kan løse ved kompilering, uten kostnad under kjøring. Det er mekanismen bak selve STL, og grunnen til at C++-biblioteker kan være både generiske og raske.

Passer

Hvem den er for – og ikke for

Passer godt for deg hvis du

  • Vil du lære C++-ens vanskelige deler – pekere, heap og templates – én om gangen i stedet for i én tett manual
  • Er du informatikkstudent og jobber deg gjennom kurs som forutsetter STL og grunnleggende datastrukturer
  • Er du på vei mot spill-, embedded- eller systemutvikling og trenger å få minnemodellen til å gi mening
  • Kommer du fra Python eller Java og vil forstå hva som skjer i minnet
  • Vil du heller lime inn en ekte compiler-feil i AI Mentor enn å søke på forum etter en standardmelding

Ikke riktig verktøy for deg hvis du

  • Trenger du å kjøre kode uten tilkobling: programmer kompileres på en ekstern GCC-compiler
  • Trenger du en komplett desktop-verktøykjede i dag, som CMake-prosjekter med flere filer, store eksterne biblioteker og en debugger, noe som hører hjemme på en datamaskin
  • Vil du ha alle de 51 kursene gratis: det første kurset og et utvalg daglige øvelser er gratis, mens Pro låser opp resten
  • Jobber du allerede profesjonelt med C++ og ønsker et oppslagsverk i stedet for et trinnvis kurs

Spørsmål

Ofte stilte spørsmål

Hva er Lær C++ i praksis?

Lær C++ i praksis er en gratis iOS- og Android-app for å lære C++-programmering gjennom korte leksjoner og en innebygd kodeeditor som kompilerer med en ekte GCC-compiler. Den er laget for nybegynnere, informatikkstudenter, spill- og systemutviklere og alle som forbereder seg til et programmeringskurs. Grensesnittet er tilgjengelig på 22 språk.

Er Lær C++ i praksis gratis?

Den er gratis å laste ned fra App Store og Google Play, og gratis å komme i gang med. Det første kurset, det daglige Predict the output-settet, den daglige bug hunt, tre Syntax Sprint-runder per dag, det første veiledede prosjektet, to oppdrag, dagens kodeoppgave, World Coding Challenge og ett spørsmål til AI Mentor per dag er gratis. Pro låser opp alle kurs, oppdrag og prosjekter, ubegrenset Syntax Sprint, alle AI-verktøyene, sertifiseringseksamen og en reklamefri opplevelse.

Kan jeg kompilere og kjøre C++ på telefonen, og fungerer det uten nett?

Ja, du kan skrive C++ i appens editor og kjøre koden fra telefonen. En ekte GCC-compiler bygger koden og returnerer resultatet og exit-koden, og programmer som leser fra cin kan ta imot inndata du skriver inn. Fordi compileren er ekstern, trenger du internettilkobling for å kjøre kode. Store CMake-prosjekter med flere filer bygges best på en datamaskin.

Hvem passer den for, og hva dekker den?

Den passer for nybegynnere som lærer C++ som sitt første eller andre språk, studenter på et C++-kurs, spill- og systemutviklere samt utviklere fra Python eller Java som vil forstå minnet. De 51 kursene dekker variabler, strenger, strømmer, kontrollflyt, structs og klasser, vektorer, referanser, pekere, RAII, smartpekere, templates, lambdas, STL, fil-I/O, CMake, samtidighet og coroutines.

Hva er Predict the output, Bug hunt og Syntax Sprint?

Det er tre daglige vaner for C++-øving. Predict the output gir deg fem korte programmer om dagen og ber deg svare før compileren avgjør resultatet. Bug hunt gir deg ett ødelagt program om dagen som du skal fikse og bevise med compileren, med gratis hint. Syntax Sprint består av 60 sekunder med syntaks-spørsmål med ett trykk, der du prøver å slå din egen rekord.

Hvorfor føles pekere og skillet mellom stack og heap så vanskelig i C++?

De fleste språk avgjør for deg hvor en verdi ligger, og når den frigjøres. I C++ må du bestemme dette selv, og det er hele grunnen til at det er vanskelig. En peker er bare en variabel som inneholder adressen til en annen verdi, men hvis du blander sammen stack og heap, kan det føre til dangling pointers, lekkasjer og krasj. Appen lærer bort minnemodellen, RAII og smartpekere i egne kurs.

Hva er RAII, og hvorfor foretrekker moderne C++ dette fremfor manuell new og delete?

RAII, Resource Acquisition Is Initialization, knytter levetiden til en ressurs til konstruktøren og destruktøren til et objekt. Dermed frigjøres ressursen automatisk når objektet forlater scopet, og du slipper å huske et delete-kall. Smartpekere er RAII brukt på minne, og overgangen fra rå new og delete til smartpekere er en av de største sikkerhetsforbedringene i moderne C++.

Bør jeg lære STL før jeg skriver mine egne datastrukturer?

Som regel, ja. Standard Template Library tilbyr allerede testede vektorer, maps, sets, iteratorer og algoritmer, slik at du lærer å bruke std::sort før du implementerer det på nytt. Appen lar deg likevel bygge en lenket liste, en template-stack og andre strukturer i de veiledede prosjektene når grunnlaget er på plass.

Hjelper det med forberedelser til C++-intervjuer?

Det hjelper med øvingsdelen. Predict the output og Bug hunt trener deg i å lese kode nøye, STL-kursene dekker containerne og algoritmene intervjuer ofte bygger på, og veiledede prosjekter som en lenket liste, en template-stack og en RPN-kalkulator øver på vanlige strukturer. Dette er et kurs, ikke en egen samling med intervjuspørsmål.

Er Learn C++: Code & Practice på App Store den samme appen?

Ja. Oppføringen i App Store heter Learn C++: Code & Practice, mens oppføringen på Google Play heter Lær C++ i praksis, men det er den samme appen med de samme 51 kursene. Et fullføringssertifikat utstedes etter avsluttende eksamen. Det dokumenterer arbeidet ditt, men er ikke en akkreditert kvalifikasjon.

Kom i gang

Kompiler ditt første C++-program i dag

51 kurs, en ekte GCC-compiler og en AI Mentor. Gratis å komme i gang på iOS og Android, på 22 språk.

App Store — Last ned gratisGoogle Play — Last ned gratis
Sist gjennomgått · Utgitt av CoddyKit · Personvernerklæring
Tilgjengelig på iOS og Android.