Lär dig C++ i praktiken
Lär dig C++ i praktiken — C++-kod som du skriver, kompilerar och kör från mobilen
Lär dig C++ i praktiken är en kostnadsfri iOS- och Android-app för nybörjare, datavetenskapsstudenter och utvecklare som vill lära sig C++ genom att skriva kod. Den inbyggda editorn skickar koden till en riktig GCC-kompilator och visar resultatet och exitkoden, medan en AI Mentor förklarar kompileringsfel på vanlig svenska. 51 kurser och 200+ korta lektioner tar dig från din första cout till klasser, STL, move semantics och C++20.
- Pris
- Gratis, uppgradering till Pro
- Plattformar
- iOS och Android
- Språk
- 22
- Åldersgräns
- 4+
- Kräver
- iOS 15.1 eller senare
- App Store
- 4.9 ★ (7)


Pekare är bara skrämmande fram till lektion tolv.
C++ har rykte om sig att vara omöjligt att lära sig, men mycket av det beror på att man får se allt på en gång: ägarskap, heapen, templates och STL redan första dagen. När samma material delas upp på 51 korta kurser introduceras det lager för lager, och varje idé avslutas med kod som du själv kompilerar och kör.
Vad det är
Lär dig C++ i praktiken är en kostnadsfri iOS- och Android-app som lär ut C++ från din första cout till klasser, STL, move semantics och moderna C++20. Den innehåller 51 kurser och 200+ korta lektioner indelade i fem spår (grunder, minne, objekt, STL och att bygga riktiga program), en editor som kompilerar med en riktig GCC-kompilator, 20 guidade projekt, 60 kodningsuppdrag och en AI Mentor med felöversättare.
I appen
Så här ser det ut





Kursen
Det här ingår i C++-kursen
51 kurser från appens eget kursinnehåll, från ditt första kompilerade program till låsfri samtidighet och coroutines.
Syntax, strängar och kontrollflöde
Du konfigurerar en compiler och kör ditt första program, och lär dig sedan variabler och typinferens, std::string jämfört med C-style char-arrayer, in- och utströmmar samt de kontrollflödesmönster som alla senare kurser förutsätter.
Structs, vektorer och miniprojekt
En introduktion till structs och klasser, arbete med tal och matematik, vektorer och dynamiska arrayer, pass-by-reference samt små praktiska projekt där du kombinerar delarna.
Minne, RAII och säkrare alternativ till råa pekare
Minnesmodellen stack kontra heap, RAII och resurshantering, undantagshantering och noexcept, const-korrekthet, säker användning av pekare samt smarta pekare som det moderna alternativet till manuellt new och delete.
Moderna typer, containrar och objektorienterad design
Enums, unions och std::variant, std::optional och std::expected, std::string_view och std::span, associativa containrar och hashing med unordered_map, arv och polymorfism samt operatoröverlagring för användardefinierade typer.
Build-verktyg, fil-I/O och standardbiblioteket
Byggande med CMake och pakethantering, fil-I/O med fstream, chrono-biblioteket för tid samt mönstermatchning med regex-headern – de delar av C++ som kopplar koden till filsystemet och klockan.
STL och modern C++11 till C++20
En genomgång av förändringarna från C++11 till C++20, move semantics och rvalue-referenser, lambdas och std::function, STL-algoritmer, iteratorer och ranges samt felsökning med sanitizers.
Templates, prestanda och systemprogrammering
Samtidighetsprimitiver, templatespecialisering och SFINAE, avancerade templates och metaprogrammering, C++20 concepts, prestandaprofilering samt design av en librarys publika API.
Avancerad samtidighet och coroutines
Låsfri programmering och atomics för situationer där en mutex är för långsam samt C++20 coroutines, språkets senaste tillägg, som lärs ut sist eftersom allt tidigare är en förutsättning.
Så fungerar det
Så fungerar en C++-session
Varje session kombinerar en kort lektion med kod som du kör, plus några dagliga övningar som håller syntaxen aktuell.
Läs en kort lektion
Öppna en kurs och gå igenom en enda lektion om en idé, till exempel en struct, en reference eller en smart pointer. Den första kursen är gratis, så du kan se hur lektionerna känns innan du bestämmer dig.
Skriv, kompilera och kör
Skriv koden i mobil-editorn och kör den. En riktig GCC-kompilator bygger den och returnerar resultatet och exitkoden, och program som läser från cin får ett ställe där du kan skriva indata. Eftersom kompilatorn körs på distans krävs en anslutning för att köra kod.
Håll kunskaperna vassa med dagliga övningar och AI Mentor
Förutsäg resultatet av fem korta program, laga ett trasigt program i dagens bug hunt eller spela Syntax Sprint i 60 sekunder. När ett fel är svårt att tyda klistrar du in det i AI Mentor och får en förklaring i en mening, plus raden som ska åtgärdas.
Det här ingår
Det här ingår i appen
51
Kurser och 200+ lektioner
En kursöversikt delar in kurserna i fem spår: grunder, minne, objekt, STL och att bygga riktiga program. Ämnena sträcker sig från variabler och streams via pointers, RAII och templates till CMake, concurrency och coroutines.
GCC
Riktig kompilator i editorn
Koden byggs av en riktig GCC-kompilator, inte en simulator. Du ser resultatet och exitkoden, kan skicka indata till program som läser från cin och köra igen med ett tryck. Varje program du kör sparas.
3/dag
Tre dagliga övningsvanor
Förutsäg resultatet (fem korta program om dagen – svara innan kompilatorn fastställer det), dagens bug hunt med kostnadsfria ledtrådar och en Syntax Sprint på 60 sekunder med frågor som besvaras med ett tryck.
20
Guidade projekt
Bygg riktiga program steg för steg, till exempel ett lager, ett bankkonto, former med polymorfism, en template-stack, en RPN-kalkylator, en linked list och en state machine.
AI
AI Mentor och felöversättare
Fastnat på en pekare eller en vägg av template-fel? Klistra in felet och få det förklarat i en mening, eller fråga AI Mentor om vad som helst på vanlig svenska.
60
Uppdrag och en världsutmaning
60 kodningsuppdrag från enkelt till svårt, ett nytt kodningsproblem varje dag och World Coding Challenge: tre globala liveomgångar om dagen med en topplista, plus streaks, XP och påminnelser.
Bakgrund
Varför kör C++ fortfarande programvara som inte har råd att vara långsam?
C++ kompileras direkt till maskinkod och ger programmeraren direkt kontroll över minnet, så inget står mellan koden och hårdvaran. Därför skrivs spelmotorer som Unreal, system för högfrekvenshandel, firmware för robotteknik och många komponenter i operativsystem fortfarande i C++, flera årtionden efter att högnivåspråk introducerades. Samma kontroll är det som gör språket svårt i början: ett C++-program måste uttryckligen ange var ett värde finns och vem som ansvarar för att frigöra det, sådant som Python eller JavaScript hanterar osynligt.
Stack kontra heapminnesmodellen
Stackminne frigörs automatiskt så fort en funktion returnerar, medan heapminne finns kvar tills något uttryckligen frigör det. Många fel som nybörjare stöter på, till exempel en hängande pekare, en minnesläcka eller en krasch när frigjort minne används, kan spåras till att dessa två blandas ihop.
RAIIC++:s eget skyddsnät
Resource Acquisition Is Initialization kopplar en resurstillgångs livslängd till konstruktorn och destruktorn för ett objekt, så att resursen frigörs automatiskt när objektet lämnar sitt scope. Smart pointers är RAII tillämpat på minne, och idiomet gör modern C++ betydligt säkrare än koden med råpekare som det ersatte.
STLverktygslådan under språket
The Standard Template Library innehåller containers som vector, map och unordered_map samt iterators och algorithms som redan implementerar sortering, sökning och transformering. När du väljer STL i stället för att själv skriva en linked list är det då C++ slutar kännas som manuellt arbete.
Templateskod som fungerar för alla typer
En template låter en funktion eller klass fungera med alla typer som kompilatorn kan avgöra vid kompilering, utan någon kostnad vid körning. Det är mekanismen bakom själva STL och anledningen till att C++-bibliotek kan vara både generiska och snabba.
Passar
Vem den är till för – och vem den inte är till för
Passar bra om du
- Vill du lära dig C++ svåra delar – pekare, heapen och templates – en i taget i stället för i en tät manual
- Är du student inom datavetenskap och arbetar dig igenom kursmoment som förutsätter STL och grundläggande datastrukturer
- Är du på väg mot spel-, embedded- eller systemutveckling och behöver förstå minnesmodellen på riktigt
- Kommer du från Python eller Java och vill förstå vad som händer i minnet
- Vill du hellre klistra in ett riktigt compilerfel i en AI Mentor än söka på forum efter en malltext
Inte rätt verktyg om du
- Behöver du köra kod utan uppkoppling: programmen kompileras på en fjärransluten GCC-compiler
- Behöver du en komplett desktop toolchain redan i dag, till exempel projekt med flera CMake-filer, stora externa bibliotek och en debugger, sådant som hör hemma på en dator
- Vill du ha alla 51 kurser gratis: den första kursen och ett urval dagliga övningar är kostnadsfria, och Pro låser upp resten
- Arbetar du redan professionellt med C++ och vill ha ett uppslagsverk snarare än en kurs i en bestämd ordning
Frågor
Vanliga frågor
Vad är Lär dig C++ i praktiken?
Lär dig C++ i praktiken är en kostnadsfri iOS- och Android-app där du lär dig C++-programmering genom korta lektioner och en inbyggd kodeditor som kompilerar på en riktig GCC-compiler. Den är utvecklad för nybörjare, studenter inom datavetenskap, spel- och systemutvecklare samt alla som förbereder sig för en programmeringskurs. Gränssnittet finns på 22 språk.
Är Lär dig C++ i praktiken gratis?
Den är gratis att ladda ner från App Store och Google Play och gratis att komma i gång med. Den första kursen, det dagliga Predict the output-setet, den dagliga bug hunt, tre Syntax Sprint-omgångar per dag, det första guidade projektet, två missions, dagens coding problem, World Coding Challenge och en AI Mentor-fråga om dagen är gratis. Pro låser upp alla kurser, missions och projekt, obegränsad Syntax Sprint, alla AI-verktyg, certifikatprovet och en annonsfri upplevelse.
Kan jag kompilera och köra C++ på mobilen, och fungerar det offline?
Ja, du kan skriva C++ i appens editor och köra koden från mobilen. En riktig GCC-compiler bygger koden och returnerar resultatet och exit-koden, och program som läser från cin kan ta emot inmatning du skriver. Eftersom compilern är fjärransluten kräver körning av kod en internetanslutning. Stora CMake-projekt med flera filer byggs bättre på en dator.
Vem passar den för, och vad omfattar den?
Den passar nybörjare som lär sig C++ som sitt första eller andra språk, studenter på en C++-kurs, spel- och systemutvecklare samt utvecklare från Python eller Java som vill förstå minnet. De 51 kurserna omfattar variabler, strängar, strömmar, kontrollflöde, structs och klasser, vektorer, referenser, pekare, RAII, smarta pekare, templates, lambdas, STL, fil-I/O, CMake, samtidighet och coroutines.
Vad är Predict the output, Bug hunt och Syntax Sprint?
Det är tre dagliga vanor för C++-träning. Predict the output ger dig fem korta program om dagen och ber dig ange ett svar innan compilern avgör resultatet. Bug hunt ger dig ett trasigt program om dagen som du ska laga och bevisa med compilern, med kostnadsfria ledtrådar. Syntax Sprint består av syntaxfrågor som besvaras med ett tryck på 60 sekunder, där du försöker slå ditt bästa resultat.
Varför känns pekare och uppdelningen mellan stack och heap så svåra i C++?
I de flesta språk bestämmer språket åt dig var ett värde finns och när det frigörs. I C++ måste du bestämma det själv, vilket är hela orsaken till svårigheten. En pekare är bara en variabel som innehåller adressen till ett annat värde, men om du blandar ihop stacken och heapen uppstår hängande pekare, minnesläckor och krascher. Appen lär ut minnesmodellen, RAII och smarta pekare i separata kurser.
Vad är RAII, och varför föredrar modern C++ det framför manuellt new och delete?
RAII, Resource Acquisition Is Initialization, kopplar en resurs livslängd till konstruktorn och destruktorn för ett objekt, så att resursen frigörs automatiskt när objektet lämnar sitt scope och det inte finns något delete-anrop att glömma. Smarta pekare är RAII tillämpat på minne, och att gå från råa new och delete till smarta pekare är en av de största säkerhetsförbättringarna i modern C++.
Bör jag lära mig STL innan jag skriver egna datastrukturer?
Generellt sett, ja. Standard Template Library innehåller redan testade vektorer, mappar, mängder, iteratorer och algoritmer, så du lär dig att använda std::sort i stället för att implementera det på nytt. Appen låter dig ändå bygga en länkad lista, en template-stack och andra strukturer i de guidade projekten när grunderna är på plats.
Hjälper den till med förberedelser inför C++-intervjuer?
Den hjälper med träningsdelen. Predict the output och bug hunt tränar noggrann kodläsning, STL-kurserna täcker containrarna och algoritmerna som intervjuer ofta bygger på, och guidade projekt som en länkad lista, en template-stack och en RPN-kalkylator övar på vanliga strukturer. Det är en kurs, inte en särskild frågebank för intervjuer.
Är Learn C++: Code & Practice på App Store samma app?
Ja. Listningen på App Store heter Learn C++: Code & Practice och listningen på Google Play heter Lär dig C++ i praktiken, men det är samma app med samma 51 kurser. Ett completion certificate utfärdas efter slutprovet. Det dokumenterar ditt arbete och är inte en ackrediterad kvalifikation.
Kom igång
Kompilera ditt första C++-program i dag
51 kurser, en riktig GCC-compiler och en AI Mentor. Gratis att komma i gång med på iOS och Android, på 22 språk.
Mer från CoddyKit
Tillgänglig på iOS och Android.