Opi C++ tekemällä
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.
- 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)


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ää





Kurssi
Mitä C++-kurssi sisältää
51 kurssia sovelluksen omasta opetussuunnitelmasta ensimmäisen käännetyn ohjelman kirjoittamisesta lock-free-säikeisyyteen ja korutiineihin.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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ä.
Lisää CoddyKitilta
Saatavilla alustoilla iOS ja Android.