Icona dell'app Imparare C++: Corso Code

Imparare C++: Corso Code

Istruzione · Gratuita · iOS & Android · CoddyKit

Imparare C++: Corso Code — Scrivi, compila ed esegui codice C++ dal tuo telefono

Imparare C++: Corso Code è un'app gratuita per iOS e Android pensata per principianti, studenti di informatica e sviluppatori che vogliono imparare C++ scrivendo codice. L'editor integrato invia il codice a un vero compilatore GCC e mostra l'output e il codice di uscita, mentre un Mentor AI trasforma gli errori del compilatore in spiegazioni chiare. 51 corsi e oltre 200 brevi lezioni ti accompagnano dal primo cout fino alle classi, alla STL, alla move semantics e a C++20.

App Store — Scarica gratisGoogle Play — Scarica gratis
Prezzo
Gratis, upgrade a Pro
Piattaforme
iOS e Android
Lingue
22
Fascia d'età
4+
Requisiti
iOS 15.1 o versioni successive
App Store
4.9 ★ (7)
Schermata Home dell'app C++ nella sua interfaccia in arabo, con il pulsante Start first lesson, un obiettivo giornaliero, il conto alla rovescia per la World Coding Challenge e i collegamenti rapidi Ask Mentor e Generate your lessonScheda Challenge nell’interfaccia in arabo, con la World Coding Challenge, una sfida di C++ del corso attivo e un’opzione per partecipare con un codice
51Corsi e oltre 200 lezioni
GCCUn vero compilatore nell'editor
3/giornoTre abitudini di pratica quotidiana
I puntatori fanno paura solo fino alla dodicesima lezione.

C++ ha la reputazione di essere impossibile da imparare, ma spesso dipende dal fatto che venga presentato tutto insieme: ownership, heap, template e STL già dal primo giorno. Suddiviso in 51 brevi corsi, lo stesso materiale arriva un livello alla volta e ogni concetto si conclude con codice che compili ed esegui personalmente.

Cos'è

Imparare C++: Corso Code è un'app gratuita per iOS e Android che insegna C++ dal primo cout fino alle classi, alla STL, alla move semantics e al moderno C++20. Include 51 corsi e oltre 200 brevi lezioni organizzati in cinque percorsi (basi, memoria, oggetti, STL e creazione di programmi reali), un editor che compila con un vero compilatore GCC, 20 progetti guidati, 60 missioni di programmazione e un Mentor AI con traduttore degli errori.

Dentro l'app

Come si presenta

Schermata Home dell'app C++ nella sua interfaccia in arabo, con il pulsante Start first lesson, un obiettivo giornaliero, il conto alla rovescia per la World Coding Challenge e i collegamenti rapidi Ask Mentor e Generate your lesson
HomeLa schermata Home mostra la scheda del corso con un pulsante di avvio, l'obiettivo giornaliero e il conto alla rovescia per il prossimo round della World Coding Challenge, oltre ai collegamenti rapidi al Mentor AI e alla generazione delle lezioni. Lo screenshot utilizza l'interfaccia in arabo.
Scheda Challenge nell’interfaccia in arabo, con la World Coding Challenge, una sfida di C++ del corso attivo e un’opzione per partecipare con un codice
Scheda ChallengeLa scheda Challenge apre la World Coding Challenge, ti permette di iniziare una partita dal corso di C++ attivo, esplorare altre sfide o partecipare a una sfida con un codice.
Schermata del profilo nell’interfaccia in arabo, con un contatore della serie giornaliera, una heatmap dell’attività degli ultimi 90 giorni e una griglia di badge dei traguardi
Serie e badgeIl profilo tiene traccia della tua serie giornaliera, di una heatmap dell’attività degli ultimi 90 giorni e dei badge dei traguardi: tutto ciò aiuta a mantenere regolari le sessioni brevi.
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.

Il corso

Cosa comprende il corso di C++

51 corsi del programma didattico dell’app, dal primo programma compilato alla concorrenza lock-free e alle coroutine.

  1. Sintassi, stringhe e controllo del flusso

    Configurazione di un compiler ed esecuzione del primo programma, seguite da variabili e inferenza dei tipi, std::string rispetto agli array di char in stile C, stream di input e output e i modelli di controllo del flusso su cui si basano tutti i corsi successivi.

  2. Struct, vector e mini-progetti

    Un’introduzione a struct e classi, operazioni con numeri e matematica, vector e array dinamici, passaggio per riferimento e piccoli progetti pratici che combinano questi elementi.

  3. Memoria, RAII e alternative più sicure ai raw pointer

    Il modello di memoria stack rispetto a heap, RAII e gestione delle risorse, gestione delle eccezioni e noexcept, correttezza const, uso sicuro dei pointer e smart pointer come sostituzione moderna di new e delete manuali.

  4. Tipi moderni, container e progettazione orientata agli oggetti

    Enum, union e std::variant, std::optional e std::expected, std::string_view e std::span, container associativi e hashing di unordered_map, ereditarietà e polimorfismo e overload degli operatori per i tipi definiti dall’utente.

  5. Build tool, I/O su file e Standard Library

    Build con CMake e gestione dei package, I/O su file con fstream, la libreria chrono per il tempo e pattern matching con l’header regex: gli elementi di C++ che collegano il codice al filesystem e all’orologio.

  6. La STL e il C++ moderno da C++11 a C++20

    Una panoramica dei cambiamenti introdotti da C++11 a C++20, move semantics e rvalue reference, lambda e std::function, algoritmi STL, iteratori e range e debugging con i sanitizer.

  7. Template, prestazioni e programmazione di sistema

    Primitive di concorrenza, specializzazione dei template e SFINAE, template avanzati e metaprogrammazione, concepts di C++20, profiling delle prestazioni e progettazione dell’API pubblica di una libreria.

  8. Concorrenza avanzata e coroutine

    Programmazione lock-free e atomics per i casi in cui un mutex è troppo lento e coroutine di C++20, l’aggiunta più recente al linguaggio, insegnate per ultime perché tutto ciò che viene prima è un prerequisito.

Come funziona

Come funziona una sessione C++

Ogni sessione abbina una breve lezione al codice da eseguire, oltre ad alcuni esercizi quotidiani che mantengono fresca la sintassi.

  1. Leggi una breve lezione

    Apri un corso e segui una singola lezione su un concetto, come una struct, un riferimento o uno smart pointer. Il primo corso è gratuito, così puoi capire come sono le lezioni prima di decidere.

  2. Scrivilo, compilalo ed eseguilo

    Inserisci il codice nell'editor mobile ed eseguilo. Un vero compilatore GCC lo compila e restituisce l'output e il codice di uscita; inoltre, i programmi che leggono da cin hanno uno spazio in cui inserire l'input. Poiché il compilatore è remoto, per eseguire il codice è necessaria una connessione.

  3. Mantieni la pratica con gli esercizi quotidiani e il Mentor AI

    Prevedi l'output di cinque brevi programmi, risolvi un programma non funzionante nella caccia al bug quotidiana oppure gioca a una Syntax Sprint di 60 secondi. Quando un errore è illeggibile, incollalo nel Mentor AI e ricevi una spiegazione in una frase, oltre alla riga da correggere.

Cosa include

Cosa include l'app

51

Corsi e oltre 200 lezioni

Una mappa dei corsi li raggruppa in cinque percorsi: basi, memoria, oggetti, STL e creazione di programmi reali. Gli argomenti spaziano dalle variabili e dagli stream a puntatori, RAII e template, fino a CMake, concorrenza e coroutine.

GCC

Un vero compilatore nell'editor

Il codice viene compilato da un vero compilatore GCC, non da un simulatore. Puoi vedere l'output e il codice di uscita, fornire input ai programmi che leggono da cin ed eseguire di nuovo il codice con un solo tocco. Ogni programma eseguito viene salvato.

3/giorno

Tre abitudini di pratica quotidiana

Prevedi l'output (cinque brevi programmi al giorno, rispondendo prima che il compilatore lo determini), partecipa a una caccia al bug quotidiana con suggerimenti gratuiti e affronta una Syntax Sprint di 60 secondi con domande a risposta immediata.

20

Progetti guidati

Crea programmi reali passo dopo passo, come un inventario, un conto bancario, forme con polimorfismo, uno stack basato su template, una calcolatrice RPN, una linked list e una macchina a stati.

AI

Mentor AI e traduttore degli errori

Bloccato su un puntatore o sommerso da una parete di errori dei template? Incolla l'errore e ricevi una spiegazione in una frase, oppure chiedi qualsiasi cosa al Mentor AI usando un linguaggio semplice.

60

Missioni e una sfida mondiale

60 missioni di programmazione, dalla più facile alla più difficile, un nuovo problema di programmazione ogni giorno e la World Coding Challenge, con tre round globali dal vivo al giorno e una classifica, oltre a serie, XP e promemoria.

Contesto

Perché C++ viene ancora usato per i software che non possono permettersi di essere lenti?

C++ compila direttamente in codice macchina e offre al programmatore il controllo diretto sulla memoria, così nulla si frappone tra il codice e l'hardware. Ecco perché, decenni dopo la comparsa dei linguaggi di livello superiore, motori di gioco come Unreal, sistemi di trading ad alta frequenza, firmware per la robotica e molti componenti dei sistemi operativi sono ancora scritti in C++. Lo stesso controllo è ciò che lo rende difficile all'inizio: un programma C++ deve indicare esplicitamente dove si trova un valore e chi è responsabile del suo rilascio, operazioni che Python o JavaScript eseguono invisibilmente.

Stack e heapil modello di memoria

La memoria dello stack viene liberata automaticamente nel momento in cui una funzione restituisce il controllo; la memoria dell'heap rimane occupata finché qualcosa non la rilascia esplicitamente. Molti bug in cui i principianti si imbattono, come un dangling pointer, una perdita di memoria o un crash causato dall'accesso a memoria già liberata, derivano dalla confusione tra i due.

RAIIla rete di sicurezza di C++

Resource Acquisition Is Initialization lega la durata di una risorsa al costruttore e al distruttore di un oggetto, così la risorsa viene rilasciata automaticamente quando l'oggetto esce dal proprio ambito. Gli smart pointer sono l'applicazione della RAII alla memoria, e questo idiom rende il C++ moderno molto più sicuro del codice basato su puntatori grezzi che ha sostituito.

La STLil toolkit alla base del linguaggio

La Standard Template Library raggruppa container come vector, map e unordered_map, oltre a iteratori e algoritmi che implementano già ordinamento, ricerca e trasformazione. Scegliere la STL invece di reinventare una linked list è il momento in cui C++ smette di sembrare lavoro manuale.

Templatecodice che funziona con qualsiasi tipo

Un template permette a una funzione o a una classe di funzionare con qualsiasi tipo che il compilatore riesca a risolvere in fase di compilazione, senza costi a runtime. È il meccanismo alla base della STL stessa e il motivo per cui le librerie C++ possono essere al tempo stesso generiche e veloci.

Adatta

A chi è adatta — e a chi no

Fa al caso tuo se

  • Vuoi affrontare gli aspetti più difficili di C++, come pointer, heap e template, uno alla volta invece che in un unico manuale denso
  • Sei uno studente di informatica e stai seguendo corsi che danno per acquisiti la STL e le strutture dati di base
  • Stai puntando a lavorare nello sviluppo di videogiochi, sistemi embedded o sistemi e hai bisogno di capire davvero il modello di memoria
  • Provieni da Python o Java e vuoi capire cosa succede nella memoria
  • Preferisci incollare un vero errore del compiler in un AI Mentor invece di cercare nei forum un messaggio standard

Non è lo strumento giusto se

  • Hai bisogno di eseguire codice senza connessione: i programmi vengono compilati su un compiler GCC remoto
  • Hai bisogno oggi stesso di una toolchain desktop completa, ad esempio per progetti CMake composti da più file, librerie esterne di grandi dimensioni e un debugger, strumenti che è meglio usare su un computer
  • Vuoi tutti i 51 corsi gratuitamente: il primo corso e una selezione di esercizi giornalieri sono gratuiti, mentre Pro sblocca tutto il resto
  • Lavori già professionalmente con C++ e vuoi un riferimento invece di un corso strutturato in sequenza

Domande

Domande frequenti

Che cos’è Imparare C++: Corso Code?

Imparare C++: Corso Code è un’app gratuita per iOS e Android che insegna la programmazione in C++ attraverso brevi lezioni e un editor di codice integrato che compila su un vero compiler GCC. È pensata per principianti, studenti di informatica, sviluppatori di videogiochi e sistemi e chiunque si stia preparando per un corso di programmazione. L’interfaccia è disponibile in 22 lingue.

Imparare C++: Corso Code è gratuita?

Puoi scaricarla gratuitamente dall’App Store e da Google Play e iniziare senza costi. Sono gratuiti il primo corso, la serie giornaliera Predict the output, la sfida giornaliera di ricerca dei bug, tre sessioni Syntax Sprint al giorno, il primo progetto guidato, due missioni, il problema di programmazione giornaliero, la World Coding Challenge e una domanda al giorno all’AI Mentor. Pro sblocca tutti i corsi, le missioni e i progetti, Syntax Sprint senza limiti, tutti gli strumenti di AI, l’esame per il certificato e un’esperienza senza pubblicità.

Posso compilare ed eseguire C++ sul telefono e funziona offline?

Sì, puoi scrivere C++ nell’editor dell’app ed eseguirlo dal telefono. Un vero compiler GCC compila il codice e restituisce l’output e l’exit code; i programmi che leggono da cin possono ricevere input digitato. Poiché il compiler è remoto, per eseguire il codice serve una connessione internet. I grandi progetti CMake composti da più file si gestiscono meglio su un computer.

A chi è rivolta e cosa comprende?

È adatta a principianti che imparano C++ come prima o seconda lingua, studenti di un corso di C++, sviluppatori di videogiochi e sistemi e sviluppatori provenienti da Python o Java che vogliono capire la memoria. I 51 corsi coprono variabili, stringhe, stream, controllo del flusso, struct e classi, vector, riferimenti, pointer, RAII, smart pointer, template, lambda, STL, I/O su file, CMake, concorrenza e coroutine.

Cosa sono Predict the output, Bug hunt e Syntax Sprint?

Sono tre abitudini quotidiane per fare pratica con C++. Predict the output propone cinque brevi programmi al giorno e ti chiede una risposta prima che il compiler la verifichi. Bug hunt ti assegna ogni giorno un programma non funzionante da correggere e verificare con il compiler, con suggerimenti gratuiti. Syntax Sprint consiste in domande di sintassi da rispondere con un tocco in 60 secondi, cercando di battere il tuo record.

Perché pointer e distinzione tra stack e heap sembrano così difficili in C++?

Nella maggior parte dei linguaggi, è il linguaggio a decidere dove vive un valore e quando viene liberato; in C++ devi decidere tu, ed è questa la vera origine della difficoltà. Un pointer è semplicemente una variabile che contiene l’indirizzo di un altro valore, ma confondere stack e heap porta a pointer pendenti, memory leak e crash. L’app insegna il modello di memoria, RAII e smart pointer in corsi dedicati.

Che cos’è RAII e perché il C++ moderno lo preferisce a new e delete manuali?

RAII, Resource Acquisition Is Initialization, lega la durata di una risorsa al costruttore e al distruttore di un oggetto, così la risorsa viene rilasciata automaticamente quando l’oggetto esce dallo scope e non c’è una chiamata a delete da dimenticare. Gli smart pointer applicano RAII alla memoria e passare da new e delete manuali agli smart pointer è uno dei più importanti miglioramenti alla sicurezza del C++ moderno.

Dovrei imparare la STL prima di scrivere le mie strutture dati?

In genere sì. La Standard Template Library offre già vector, map, set, iteratori e algoritmi testati, quindi impari a usare std::sort invece di reinventarlo. L’app ti fa comunque costruire una linked list, uno stack basato su template e altre strutture nei progetti guidati, una volta acquisite le basi.

È utile per prepararsi ai colloqui di C++?

È utile per la parte pratica. Predict the output e Bug hunt allenano a leggere attentamente il codice, i corsi sulla STL trattano i container e gli algoritmi su cui si concentrano i colloqui e progetti guidati come una linked list, uno stack basato su template e un calcolatore RPN fanno esercitare strutture comuni. È un corso, non una raccolta dedicata di domande da colloquio.

Learn C++: Code & Practice sull’App Store è la stessa app?

Sì. La scheda sull’App Store si intitola Learn C++: Code & Practice, mentre quella su Google Play si intitola Imparare C++: Corso Code, ma è la stessa app con gli stessi 51 corsi. Il certificato di completamento viene rilasciato dopo l’esame finale; documenta il lavoro svolto, ma non è una qualifica accreditata.

Inizia

Compila oggi stesso il tuo primo programma C++

51 corsi, un vero compiler GCC e un AI Mentor. Inizia gratuitamente su iOS e Android, in 22 lingue.

App Store — Scarica gratisGoogle Play — Scarica gratis
Ultima revisione · Pubblicata da CoddyKit · Privacy policy
Disponibile su iOS e Android.