Lär dig C++ i praktiken-appikon

Lär dig C++ i praktiken

Utbildning · Gratis · iOS & Android · CoddyKit

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.

App Store — Ladda ner gratisGoogle Play — Ladda ner gratis
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)
Startskärmen i C++-appen med det arabiska gränssnittet, en knapp för att starta den första lektionen, ett dagligt mål, nedräkningen till World Coding Challenge och genvägarna Ask Mentor och Generate your lessonFliken Challenge i det arabiska gränssnittet visar World Coding Challenge, en C++-utmaning från den aktiva kursen samt ett alternativ för att gå med med en kod
51Kurser och 200+ lektioner
GCCRiktig kompilator i editorn
3/dagTre dagliga övningsvanor
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

Startskärmen i C++-appen med det arabiska gränssnittet, en knapp för att starta den första lektionen, ett dagligt mål, nedräkningen till World Coding Challenge och genvägarna Ask Mentor och Generate your lesson
HemHemskärmen visar kurskortet med en startknapp, det dagliga målet och en nedräkning till nästa omgång av World Coding Challenge, med genvägar till AI Mentor och lektionsgenerering. Skärmbilden använder det arabiska gränssnittet.
Fliken Challenge i det arabiska gränssnittet visar World Coding Challenge, en C++-utmaning från den aktiva kursen samt ett alternativ för att gå med med en kod
Fliken ChallengePå fliken Challenge öppnas World Coding Challenge. Där kan du starta en match från din aktiva C++-kurs, bläddra bland andra utmaningar eller gå med i en med en kod.
Profilsidan i det arabiska gränssnittet med en räknare för dagliga sviter, en aktivitetsvärmekarta för 90 dagar och ett rutnät med prestationsmärken
Sviter och märkenProfilen håller koll på din dagliga svit, en aktivitetsvärmekarta för 90 dagar och prestationsmärken – sådant som gör att korta sessioner blir regelbundna.
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.

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. Templates, prestanda och systemprogrammering

    Samtidighetsprimitiver, templatespecialisering och SFINAE, avancerade templates och metaprogrammering, C++20 concepts, prestandaprofilering samt design av en librarys publika API.

  8. 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.

  1. 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.

  2. 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.

  3. 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.

App Store — Ladda ner gratisGoogle Play — Ladda ner gratis
Senast granskad · Publicerad av CoddyKit · Integritetspolicy
Tillgänglig på iOS och Android.