Opi C++ tekemällä-sovelluksen kuvake

Opi C++ tekemällä

Koulutus · Ilmainen · iOS & Android · CoddyKit

Opi C++ tekemällä — Kirjoita, käännä ja suorita C++-koodia puhelimellasi

Opi C++ tekemällä on ilmainen iOS- ja Android-sovellus aloittelijoille, tietojenkäsittelytieteen opiskelijoille ja kehittäjille, jotka haluavat oppia C++:aa kirjoittamalla sitä. Sisäänrakennettu editori lähettää koodisi oikealle GCC-kääntäjälle ja näyttää tulosteen sekä paluuarvon, ja AI Mentor muuttaa kääntäjän virheet selkeäksi suomeksi. 51 kurssia ja yli 200 lyhyttä oppituntia vievät sinut ensimmäisestä cout-komennosta luokkiin, STL:ään, siirtosemantiikkaan ja C++20:een.

App Store — Lataa ilmaiseksiGoogle Play — Lataa ilmaiseksi
Hinta
Ilmainen, Pro-päivitys
Alustat
iOS ja Android
Kielet
22
Ikäraja
4+
Vaatimukset
iOS 15.1 tai uudempi
App Store
4.9 ★ (7)
C++-sovelluksen aloitusnäkymä arabiankielisellä käyttöliittymällä. Näkymässä ovat Start first lesson -painike, päivittäinen tavoite, World Coding Challenge -laskuri sekä Ask Mentor- ja Generate your lesson -pikakuvakkeet.Haaste-välilehti arabialaisessa käyttöliittymässä: World Coding Challenge, aktiivisen kurssin C++-haaste ja mahdollisuus liittyä koodilla
51Kurssia ja yli 200 oppituntia
GCCOikea kääntäjä editorissa
3/päiväKolme päivittäistä harjoitustapaa
Osoittimet ovat pelottavia vain oppituntiin kaksitoista asti.

C++:lla on maine kielenä, jota ei voi oppia, mutta suuri osa tästä johtuu siitä, että kaikki esitellään kerralla: omistajuus, kekomuisti, templatet ja STL heti ensimmäisenä päivänä. 51 lyhyelle kurssille jaettuna sama sisältö avautuu kerros kerrokselta, ja jokainen aihe päättyy koodiin, jonka käännät ja suoritat itse.

Mikä se on

Opi C++ tekemällä on ilmainen iOS- ja Android-sovellus, joka opettaa C++:aa ensimmäisestä cout-komennosta luokkiin, STL:ään, siirtosemantiikkaan ja moderniin C++20:een. Se sisältää 51 kurssia ja yli 200 lyhyttä oppituntia viidelle polulle jaettuna (perusteet, muisti, oliot, STL ja oikeiden ohjelmien rakentaminen), editorin, joka kääntää koodin oikealla GCC-kääntäjällä, 20 ohjattua projektia, 60 koodaushaastetta sekä AI Mentorin ja virheenkääntäjän.

Sovelluksen sisältö

Miltä se näyttää

C++-sovelluksen aloitusnäkymä arabiankielisellä käyttöliittymällä. Näkymässä ovat Start first lesson -painike, päivittäinen tavoite, World Coding Challenge -laskuri sekä Ask Mentor- ja Generate your lesson -pikakuvakkeet.
EtusivuAloitusnäkymässä näkyvät kurssikortti aloituspainikkeineen, päivittäinen tavoite ja seuraavan World Coding Challenge -kierroksen ajastin sekä pikakuvakkeet AI Mentoriin ja oppituntien luomiseen. Kuvakaappauksessa käytetään arabiankielistä käyttöliittymää.
Haaste-välilehti arabialaisessa käyttöliittymässä: World Coding Challenge, aktiivisen kurssin C++-haaste ja mahdollisuus liittyä koodilla
Haaste-välilehtiHaaste-välilehdellä voit avata World Coding Challengen, aloittaa ottelun aktiiviselta C++-kurssiltasi, selata muita haasteita tai liittyä haasteeseen koodilla.
Profiilinäkymä arabialaisessa käyttöliittymässä: päivittäisen putken laskuri, 90 päivän aktiivisuuskartta ja saavutusten merkkien ruudukko
Putki ja merkitProfiili seuraa päivittäistä putkeasi, 90 päivän aktiivisuuskarttaa ja saavutusten merkkejä, mikä auttaa pitämään lyhyet harjoitteluhetket säännöllisinä.
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.

Kurssi

Mitä C++-kurssi sisältää

51 kurssia sovelluksen omasta opetussuunnitelmasta ensimmäisen käännetyn ohjelman kirjoittamisesta lock-free-säikeisyyteen ja korutiineihin.

  1. Syntaksi, merkkijonot ja ohjausvirta

    Kääntäjän käyttöönotto ja ensimmäisen ohjelman suorittaminen, muuttujat ja tyyppipäättely, std::string verrattuna C-tyylisiin char-taulukoihin, syöte- ja tulostusvirrat sekä ohjausvirran rakenteet, joihin kaikilla myöhemmillä kursseilla oletetaan olevan valmiudet.

  2. Struct-rakenteet, vektorit ja pienet projektit

    Johdatus struct-rakenteisiin ja luokkiin, numeroiden ja matematiikan käsittely, vektorit ja dynaamiset taulukot, parametrien välitys viitteellä sekä pienet käytännön projektit, joissa nämä asiat yhdistyvät.

  3. Muisti, RAII ja turvallisemmat vaihtoehdot raakaviittaimille

    Pinon ja keon muistimalli, RAII ja resurssienhallinta, poikkeuskäsittely ja noexcept, const-oikeellisuus, viittainten turvallinen käyttö sekä älykkäät viittaimet nykyaikaisena korvaajana manuaalisille new- ja delete-kutsuille.

  4. Nykyaikaiset tyypit, säiliöt ja olio-ohjelmointi

    Enumeraatiot, unionit ja std::variant, std::optional ja std::expected, std::string_view ja std::span, assosiatiiviset säiliöt ja unordered_map-hajautus, periytyminen ja polymorfismi sekä operaattorien ylikuormitus käyttäjän määrittämille tyypeille.

  5. Koontityökalut, tiedostojen I/O ja standardikirjasto

    Koonti CMake- ja paketinhallinnan avulla, tiedostojen I/O fstream-kirjastolla, chrono-kirjasto ajan käsittelyyn sekä hahmontunnistus regex-otsaketiedostolla – nämä ovat C++:n osa-alueita, jotka yhdistävät koodin tiedostojärjestelmään ja kelloon.

  6. STL ja moderni C++11–C++20

    Katsaus siihen, mitä C++11–C++20 muutti, siirtosemanttinen toiminta ja rvalue-viittaimet, lambdat ja std::function, STL-algoritmit, iteraattorit ja ranget sekä virheenkorjaus sanitizereilla.

  7. Templatet, suorituskyky ja järjestelmäohjelmointi

    Samanaikaisuuden primitiivit, templatien erikoistaminen ja SFINAE, edistyneet templatet ja metaprogrammointi, C++20-konseptit, suorituskyvyn profilointi sekä kirjaston julkisen API:n suunnittelu.

  8. Edistynyt samanaikaisuus ja korutiinit

    Lock-free-ohjelmointi ja atomiset operaatiot tilanteisiin, joissa mutex on liian hidas, sekä C++20-korutiinit, kielen uusin lisäys, joka opetetaan viimeisenä, koska kaikki sitä edeltävä on sen edellytys.

Miten se toimii

Näin C++-harjoitus toimii

Jokaisessa harjoituksessa lyhyt oppitunti yhdistyy suoritettavaan koodiin sekä muutamaan päivittäiseen tehtävään, jotka pitävät syntaksin tuoreena.

  1. Lue yksi lyhyt oppitunti

    Avaa kurssi ja suorita yksi oppitunti yhdestä aiheesta, kuten struct-rakenteesta, viitteestä tai älyosoittimesta. Ensimmäinen kurssi on ilmainen, joten voit tutustua oppituntien tyyliin ennen päätöksentekoa.

  2. Kirjoita, käännä ja suorita koodi

    Kirjoita koodi mobiilieditorissa ja suorita se. Oikea GCC-kääntäjä rakentaa ohjelman ja palauttaa tulosteen sekä paluuarvon, ja cin-komennolla syötettä lukeville ohjelmille on oma syöttökenttänsä. Koska kääntäjä toimii etänä, koodin suorittaminen vaatii yhteyden.

  3. Pidä taitosi terävinä päivittäisillä tehtävillä ja AI Mentorilla

    Ennakoi viiden lyhyen ohjelman tulosteet, korjaa yksi rikkinäinen ohjelma päivittäisessä virheenmetsästyksessä tai pelaa 60 sekunnin Syntax Sprint. Kun virhe on vaikeaselkoinen, liitä se AI Mentoriin ja saat siitä yhden lauseen selityksen sekä korjattavan rivin.

Mitä se sisältää

Mitä sovellus sisältää

51

Kurssia ja yli 200 oppituntia

Kurssikartta jakaa kurssit viidelle polulle: perusteet, muisti, oliot, STL ja oikeiden ohjelmien rakentaminen. Aiheet ulottuvat muuttujista ja virroista osoittimiin, RAII:hin ja templateihin sekä CMakeen, samanaikaisuuteen ja korutiineihin.

GCC

Oikea kääntäjä editorissa

Koodin rakentaa oikea GCC-kääntäjä, ei simulaattori. Näet tulosteen ja paluuarvon, voit syöttää tietoja cin-komennolla lukeville ohjelmille ja suorittaa ohjelman uudelleen yhdellä napautuksella. Jokainen suorittamasi ohjelma tallennetaan.

3/päivä

Kolme päivittäistä harjoitustapaa

Ennakoi tuloste (viisi lyhyttä ohjelmaa päivässä ja vastaus ennen kuin kääntäjä ehtii ratkaista sen), päivittäinen virheenmetsästys ilmaisten vihjeiden kera sekä 60 sekunnin Syntax Sprint, jossa vastataan kysymyksiin yhdellä napautuksella.

20

Ohjattua projektia

Rakenna oikeita ohjelmia vaihe vaiheelta, kuten varastonhallinta, pankkitili, polymorfismia hyödyntävät muodot, template-pino, RPN-laskin, linkitetty lista ja tilakone.

AI

AI Mentor ja virheenkääntäjä

Jäikö osoitin tai valtava määrä template-virheitä jumiin? Liitä virhe mukaan ja saat siitä yhden lauseen selityksen tai kysy AI Mentorilta mitä tahansa selkeällä kielellä.

60

Haastetta ja maailmanlaajuinen haaste

60 helppoudesta vaikeaan etenevää koodaushaastetta, uusi koodausongelma joka päivä sekä World Coding Challenge: kolme maailmanlaajuista live-kierrosta päivässä pistetaulukkoineen, lisäksi putket, XP ja muistutukset.

Taustaa

Miksi C++ pyörittää yhä ohjelmistoja, joissa hitauteen ei ole varaa?

C++ käännetään suoraan konekoodiksi, ja se antaa ohjelmoijalle suoran hallinnan muistiin, joten koodin ja laitteiston välissä ei ole mitään. Siksi esimerkiksi Unreal-pelimoottorit, suurtaajuuskaupankäyntijärjestelmät, robotiikan laiteohjelmistot ja monet käyttöjärjestelmien komponentit kirjoitetaan sillä edelleen, vaikka korkeamman tason kielet ilmestyivät jo vuosikymmeniä sitten. Sama hallinta tekee kielestä aluksi vaikean tuntuisen: C++-ohjelman on kerrottava eksplisiittisesti, missä arvo sijaitsee ja kuka vastaa sen vapauttamisesta, kun taas Python tai JavaScript hoitaa tämän näkymättömästi.

Pino vs. kekomuistimuistimalli

Pinomuisti vapautetaan automaattisesti heti funktion palatessa; kekomuisti säilyy, kunnes jokin vapauttaa sen erikseen. Monet aloittelijoiden kohtaamat virheet, kuten roikkuva osoitin, muistivuoto tai vapautettuun muistiin koskemisesta aiheutuva kaatuminen, johtuvat viime kädessä näiden kahden sekoittamisesta.

RAIIC++:n oma turvaverkko

Resource Acquisition Is Initialization sitoo resurssin elinkaaren olion konstruktoriin ja destruktoriin, joten resurssi vapautetaan automaattisesti, kun olio poistuu näkyvyysalueeltaan. Älyosoittimet ovat RAII:n soveltamista muistiin, ja tämä idiomi tekee modernista C++:sta paljon turvallisempaa kuin sen korvannut raakaosoitinkoodi.

STLkielen alla oleva työkalupakki

Standard Template Library sisältää säiliöitä, kuten vector-, map- ja unordered_map-rakenteet, sekä iteraattoreita ja algoritmeja, jotka toteuttavat valmiiksi lajittelun, haun ja muunnokset. STL:n käyttäminen itse käsin rakennetun linkitetyn listan sijaan on se hetki, jolloin C++ lakkaa tuntumasta käsityöltä.

Templatetkoodi, joka toimii millä tahansa tyypillä

Template mahdollistaa sen, että yksi funktio tai luokka toimii millä tahansa tyypillä, jonka kääntäjä pystyy ratkaisemaan käännösaikana, ilman ajonaikaista kustannusta. Se on STL:n itsensä taustalla oleva mekanismi ja syy siihen, että C++-kirjastot voivat olla sekä yleiskäyttöisiä että nopeita.

Sopivuus

Kenelle se sopii – ja kenelle ei

Se sopii sinulle, jos

  • Haluat oppia C++:n vaikeat osa-alueet, viittaimet, keon ja templatet yksi kerrallaan etkä yhtenä tiiviinä oppaana
  • Olet tietojenkäsittelytieteen opiskelija ja käyt läpi opintoja, joissa oletetaan STL:n ja perus tietorakenteiden tuntemus
  • Olet suuntaamassa peli-, sulautettujen järjestelmien tai järjestelmäohjelmoinnin pariin ja haluat todella ymmärtää muistimallin
  • Tulet Python- tai Java-taustasta ja haluat ymmärtää, mitä muistissa tapahtuu
  • Liität mieluummin todellisen kääntäjävirheen AI Mentorille kuin etsit foorumeilta yleisluontoista viestiä

Se ei ole oikea työkalu sinulle, jos

  • Sinun on suoritettava koodia ilman yhteyttä: ohjelmat käännetään etäkäyttöisellä GCC-kääntäjällä
  • Tarvitset täyden työpöytätyökaluketjun heti, esimerkiksi usean tiedoston CMake-projekteja, suuria ulkoisia kirjastoja ja debuggerin, jotka kuuluvat tietokoneelle
  • Haluat kaikki 51 kurssia ilmaiseksi: ensimmäinen kurssi ja päivittäiset harjoitukset ovat ilmaisia, ja Pro avaa loput
  • Työskentelet jo ammatiksesi C++:lla ja haluat jäsennellyn kurssin sijaan hakuteoksen

Kysymykset

Usein kysytyt kysymykset

Mikä on Opi C++ tekemällä?

Opi C++ tekemällä on ilmainen iOS- ja Android-sovellus C++-ohjelmoinnin opiskeluun. Se tarjoaa lyhyitä oppitunteja ja sisäänrakennetun koodieditorin, joka kääntää koodin aidolla GCC-kääntäjällä. Se on suunniteltu aloittelijoille, tietojenkäsittelytieteen opiskelijoille, peli- ja järjestelmäkehittäjille sekä kaikille, jotka valmistautuvat ohjelmointikurssille. Käyttöliittymä on saatavilla 22 kielellä.

Onko Opi C++ tekemällä ilmainen?

Sen voi ladata ilmaiseksi App Storesta ja Google Playsta, ja käytön voi aloittaa ilmaiseksi. Ensimmäinen kurssi, päivittäinen Predict the output -harjoitus, päivittäinen bug hunt, kolme Syntax Sprint -kierrosta päivässä, ensimmäinen ohjattu projekti, kaksi tehtävää, päivittäinen koodausongelma, World Coding Challenge ja yksi AI Mentor -kysymys päivässä ovat ilmaisia. Pro avaa kaikki kurssit, tehtävät ja projektit, rajattoman Syntax Sprintin, kaikki AI-työkalut, sertifikaattikokeen ja mainoksettoman käyttökokemuksen.

Voinko kääntää ja suorittaa C++-koodia puhelimellani, ja toimiiko se offline-tilassa?

Kyllä. Voit kirjoittaa C++-koodia sovelluksen editorilla ja suorittaa sen puhelimestasi. Aito GCC-kääntäjä kääntää koodin ja palauttaa tulosteen sekä poistumiskoodin, ja cin-lukua käyttävät ohjelmat voivat vastaanottaa kirjoitettua syötettä. Koska kääntäjä toimii etänä, koodin suorittaminen edellyttää internet-yhteyttä. Suuret usean tiedoston CMake-projektit kannattaa kääntää tietokoneella.

Kenelle se sopii, ja mitä se sisältää?

Se sopii aloittelijoille, jotka opettelevat C++:aa ensimmäisenä tai toisena kielenään, C++-kurssien opiskelijoille, peli- ja järjestelmäkehittäjille sekä Python- tai Java-kehittäjille, jotka haluavat ymmärtää muistia. 51 kurssia kattavat muuttujat, merkkijonot, virrat, ohjausvirran, struct-rakenteet ja luokat, vektorit, viitteet, viittaimet, RAII:n, älykkäät viittaimet, templatet, lambdat, STL:n, tiedostojen I/O:n, CMake:n, samanaikaisuuden ja korutiinit.

Mitä ovat Predict the output, Bug hunt ja Syntax Sprint?

Ne ovat kolme päivittäistä C++-harjoittelutapaa. Predict the output tarjoaa viisi lyhyttä ohjelmaa päivässä ja pyytää vastausta ennen kuin kääntäjä ratkaisee asian. Bug hunt antaa päivittäin yhden rikkinäisen ohjelman korjattavaksi ja pyytää todistamaan korjauksen kääntäjällä, ja käytettävissä on ilmaisia vihjeitä. Syntax Sprintissä vastaat 60 sekunnin ajan yhden napautuksen syntaksikysymyksiin ja yrität päihittää parhaan tuloksesi.

Miksi viittaimet ja jako pinoon ja kekoon tuntuvat C++:ssa niin vaikeilta?

Useimmat kielet päättävät puolestasi, missä arvo sijaitsee ja milloin se vapautetaan; C++ jättää päätöksen sinulle, ja tästä vaikeus pääasiassa johtuu. Viittain on vain muuttuja, joka sisältää toisen arvon osoitteen, mutta pinon ja keon sekoittaminen aiheuttaa roikkuvia viittaimia, muistivuotoja ja kaatumisia. Sovellus opettaa muistimallin, RAII:n ja älykkäät viittaimet omina kursseinaan.

Mikä RAII on, ja miksi moderni C++ suosii sitä manuaalisten new- ja delete-kutsujen sijaan?

RAII eli Resource Acquisition Is Initialization sitoo resurssin eliniän olion konstruktoriin ja destruktoriin, joten resurssi vapautetaan automaattisesti olion poistuessa näkyvyysalueelta eikä delete-kutsua voi unohtaa. Älykkäät viittaimet ovat RAII:n sovellus muistiin, ja siirtyminen raaoista new- ja delete-kutsuista älykkäisiin viittaimiin on yksi modernin C++:n suurimmista turvallisuusparannuksista.

Pitäisikö STL opetella ennen omien tietorakenteiden kirjoittamista?

Yleensä kyllä. Standard Template Library tarjoaa jo valmiiksi testatut vektorit, mapit, setit, iteraattorit ja algoritmit, joten opit käyttämään std::sortia sen uudelleen toteuttamisen sijaan. Sovelluksessa rakennetaan silti ohjatuissa projekteissa linkitetty lista, template-pino ja muita rakenteita, kun perusteet ovat hallussa.

Auttaako se C++-työhaastatteluihin valmistautumisessa?

Se auttaa harjoittelupuolella. Predict the output ja bug hunt kehittävät huolellista koodin lukemista, STL-kurssit käsittelevät säiliöitä ja algoritmeja, joihin haastatteluissa usein tukeudutaan, ja ohjatut projektit, kuten linkitetty lista, template-pino ja RPN-laskin, harjoittavat yleisiä rakenteita. Kyseessä on kurssi, ei erityinen työhaastattelukysymysten kokoelma.

Onko App Storessa oleva Learn C++: Code & Practice sama sovellus?

Kyllä. App Storen listauksen nimi on Learn C++: Code & Practice ja Google Play -listauksen nimi on Opi C++ tekemällä, mutta kyseessä on sama sovellus samoine 51 kurssineen. Suoritustodistus myönnetään loppukokeen jälkeen; se tallentaa tekemäsi työn, mutta ei ole virallinen pätevyys.

Aloita

Käännä ensimmäinen C++-ohjelmasi jo tänään

51 kurssia, aito GCC-kääntäjä ja AI Mentor. Aloita ilmaiseksi iOS- ja Android-laitteilla 22 kielellä.

App Store — Lataa ilmaiseksiGoogle Play — Lataa ilmaiseksi
Tarkistettu viimeksi · Julkaisija: CoddyKit · Tietosuojakäytäntö
Saatavilla alustoilla iOS ja Android.