Scegli la tua lingua
Corso C++
Più di 2 milioni di studenti in tutto il mondo

Corso C++

4,6

Padroneggi il C++ dalle basi — dalla sintassi di base e la gestione della memoria ai template, alla concorrenza e alle moderne funzionalità del C++23. Questo corso fornisce la profondità tecnica e la pratica pratica per scrivere codice C++ veloce, sicuro e di livello professionale. Che miri alla programmazione di sistema, allo sviluppo embedded o alle applicazioni ad alte prestazioni, questo è il set di competenze completo di cui ha bisogno.

Dedika per aziende

Cosa imparerai:

Costruirà una solida base nella sintassi C++, nel flusso di controllo e nelle funzioni prima di passare ai puntatori, alla gestione della memoria e alla programmazione orientata agli oggetti. Padroneggerà la Standard Template Library, scriverà codice generico con i template e applicherà funzionalità moderne come lambda, semantica di spostamento e binding strutturati. Il corso tratta anche la gestione degli errori, l'unit testing, il profiling delle prestazioni, i sistemi di build con CMake e le pratiche professionali, inclusi il controllo di versione e la revisione del codice. Alla fine, avrà le competenze per sviluppare software C++ di qualità produttiva in un'ampia gamma di domini.

Come studi in modo pratico Corso C++

Come metti in pratica Corso C++

Per te che sei un'azienda e vuoi formare il tuo team

Su Dedika per aziende, il corso include esercizi ed esempi personalizzati sul tuo business e secondo le esigenze della tua azienda.

Clicca qui

Contenuto del corso

8 Capitoli • 40 LezioniDurata tra 4 e 360 ore (decidi tu)

Capitolo 1Vedi dettagli

Fondamenti di C++ e configurazione dell'ambiente

  • Lezione 1 • Variabili, tipi e letterali

    Introduce i tipi di dati fondamentali, la dichiarazione di variabili e i valori letterali. Costruisce il vocabolario necessario per tutte le future manipolazioni dei dati.

  • Lezione 2 • Configurazione dell'ambiente di sviluppo

    Installare compilatori, IDE e strumenti di build per lo sviluppo C++. Fornisce le basi tecniche da cui dipende ogni capitolo successivo.

  • Lezione 3 • Operatori ed espressioni

    Esplora gli operatori aritmetici, relazionali, logici e bit a bit. Le regole di precedenza degli operatori sono applicate per scrivere espressioni corrette.

  • Lezione 4 • Sintassi di base e struttura del programma

    Tratta l'anatomia di un file sorgente C++, inclusi header, funzione main e istruzioni. Collega le regole sintattiche a un codice leggibile e compilabile.

  • Lezione 5 • Input e output con iostream

    Insegna l'I/O su console usando cin e cout della libreria standard. Abilita programmi interattivi essenziali per i primi esercizi.

Capitolo 2Vedi dettagli

Flusso di controllo e funzioni

  • Lezione 1 • Cicli e iterazione

    Introduce i cicli for, while e do-while insieme alle istruzioni di controllo dei cicli. I modelli di ripetizione sono alla base degli algoritmi nei capitoli successivi.

  • Lezione 2 • Scope, durata e classi di memorizzazione

    Spiega lo scope delle variabili locali, globali e statiche e la durata degli oggetti. Previene bug comuni causati da una visibilità delle variabili fraintesa.

  • Lezione 3 • Ricorsione e sovraccarico delle funzioni

    Introduce la risoluzione ricorsiva dei problemi e firme di funzione multiple con lo stesso nome. Prepara gli studenti a modelli algoritmici complessi.

  • Lezione 4 • Dichiarazione e definizione delle funzioni

    Insegna come dichiarare, definire e chiamare funzioni con parametri e tipi di ritorno. Le funzioni sono l'unità primaria di riuso del codice in C++.

  • Lezione 5 • Istruzioni condizionali

    Tratta i costrutti if, else-if, else e switch per il processo decisionale. Abilita direttamente i programmi guidati dalla logica costruiti durante il corso.

Capitolo 3Vedi dettagli

Array, puntatori e memoria

  • Lezione 1 • Allocazione dinamica della memoria

    Insegna l'allocazione nello heap con new e la deallocazione con delete. Una corretta gestione delle risorse qui previene memory leak in tutti i programmi futuri.

  • Lezione 2 • Array e stringhe in stile C

    Tratta array a dimensione fissa, array multidimensionali e stringhe terminate da null. Stabilisce le strutture dati di basso livello su cui si basano i puntatori.

  • Lezione 3 • Riferimenti e const correctness

    Distingue i riferimenti dai puntatori e impone l'uso di const per la sicurezza. La const correctness è uno standard di codifica C++ professionale.

  • Lezione 4 • Panoramica sugli smart pointer

    Introduce unique_ptr, shared_ptr e weak_ptr come alternative più sicure ai puntatori raw. Collega la gestione manuale della memoria agli idiomi moderni del C++.

  • Lezione 5 • Basi dei puntatori

    Introduce la dichiarazione dei puntatori, l'operatore indirizzo-di e la dereferenziazione. I puntatori sono centrali per la memoria dinamica e le funzionalità orientate agli oggetti successive.

Capitolo 4Vedi dettagli

Programmazione orientata agli oggetti in C++

  • Lezione 1 • Polimorfismo e funzioni virtuali

    Implementa il polimorfismo a runtime tramite funzioni virtuali e classi astratte. Abilita progetti flessibili ed estensibili, centrali nelle grandi codebase C++.

  • Lezione 2 • Ereditarietà e gerarchie di classi

    Modella relazioni is-a usando ereditarietà singola e multipla. Stabilisce la struttura gerarchica necessaria per il polimorfismo.

  • Lezione 3 • Sovraccarico degli operatori

    Permette ai tipi personalizzati di usare gli operatori standard in modo naturale ed espressivo. Rafforza l'incapsulamento mantenendo la logica all'interno della classe.

  • Lezione 4 • Costruttori, distruttori e inizializzazione

    Insegna la gestione del ciclo di vita degli oggetti tramite costruttori e distruttori. Una corretta inizializzazione previene comportamenti indefiniti in programmi complessi.

  • Lezione 5 • Classi e oggetti

    Tratta la definizione delle classi, i membri dati, le funzioni membro e gli specificatori di accesso. Le classi sono il meccanismo di astrazione primario in C++.

Capitolo 5Vedi dettagli

La Standard Template Library

  • Lezione 1 • Gestione delle stringhe con std::string

    Tratta operazioni, manipolazione e utilità di conversione di std::string. Sostituisce le stringhe in stile C non sicure con un'alternativa sicura e ricca di funzionalità.

  • Lezione 2 • Algoritmi della STL

    Applica algoritmi di ordinamento, ricerca, trasformazione e accumulazione da <algorithm>. Sostituisce i cicli manuali inclini all'errore con espressivi one-liner.

  • Lezione 3 • Container associativi e non ordinati

    Introduce map, set, unordered_map e unordered_set per l'accesso basato su chiave. Abilita modelli di ricerca rapida utilizzati nelle applicazioni reali.

  • Lezione 4 • Container sequenziali

    Tratta vector, list, deque e array per l'archiviazione ordinata dei dati. La scelta del container giusto impatta direttamente le prestazioni del programma.

  • Lezione 5 • Iteratori e intervalli

    Spiega le categorie di iteratori, i modelli di attraversamento e le operazioni basate su intervalli. Gli iteratori sono l'interfaccia universale tra container e algoritmi.

Capitolo 6Vedi dettagli

Template e programmazione generica

  • Lezione 1 • Concetti e vincoli nel C++20

    Applica i concetti del C++20 per vincolare i parametri dei template con requisiti leggibili. Produce messaggi di errore più chiari e interfacce auto-documentanti.

  • Lezione 2 • Basi di metaprogrammazione con template

    Introduce il calcolo a tempo di compilazione usando type traits e constexpr. Permette astrazioni a costo zero e validazione a tempo di compilazione.

  • Lezione 3 • Function template

    Introduce la sintassi dei template per scrivere funzioni generiche con parametri di tipo. Elimina la duplicazione del codice preservando la piena sicurezza del tipo.

  • Lezione 4 • Class template

    Estende i template alle classi, permettendo container e utilità generiche. È alla base dei container STL studiati nel capitolo precedente.

  • Lezione 5 • Template variadici

    Tratta i parameter pack e le fold expression per template con argomenti variabili. Abilita API flessibili come std::tuple e utilità di logging.

Capitolo 7Vedi dettagli

Caratteristiche e idiomi del C++ moderno

  • Lezione 1 • Binding strutturati e std::optional

    Introduce i binding strutturati per la scomposizione simile a tuple e optional per valori nullable. Riduce il boilerplate ed esprime chiaramente l'intento.

  • Lezione 2 • std::variant e std::any

    Tratta unioni type-safe con std::variant e memorizzazione con tipo cancellato con std::any. Sostituisce le union C non sicure e i puntatori void nel codice moderno.

  • Lezione 3 • Fondamenti di concorrenza con std::thread

    Introduce la creazione di thread, le primitive di sincronizzazione e la prevenzione delle data race. Prepara gli studenti allo sviluppo di applicazioni multi-thread.

  • Lezione 4 • Semantica di spostamento e riferimenti rvalue

    Spiega i riferimenti rvalue, i costruttori di spostamento e l'assegnazione di spostamento per le prestazioni. Elimina copie non necessarie in programmi ad uso intensivo di risorse.

  • Lezione 5 • Espressioni lambda e chiusure

    Tratta la sintassi lambda, le liste di cattura e l'uso con gli algoritmi STL. Permette oggetti funzione concisi e inline senza boilerplate.

Capitolo 8Vedi dettagli

Gestione degli errori, test e prestazioni

  • Lezione 1 • Profiling e analisi delle prestazioni

    Applica strumenti di profiling per identificare gli hotspot e misurare il tempo di esecuzione. L'ottimizzazione guidata dai dati evita messe a punto premature e fuorvianti.

  • Lezione 2 • Unit Testing in C++

    Introduce framework di test, progettazione di casi di test e flusso di lavoro di sviluppo guidato dai test. I test automatizzati verificano la correttezza man mano che il codice evolve.

  • Lezione 3 • Asserzioni e programmazione difensiva

    Usa assert, static_assert e controlli di precondizione per individuare precocemente i bug. Le tecniche difensive riducono il tempo di debug in grandi codebase.

  • Lezione 4 • Tecniche di ottimizzazione

    Tratta layout di dati cache-friendly, miglioramenti algoritmici e suggerimenti per il compilatore. Applica i risultati del profiling per ottenere accelerazioni misurabili.

  • Lezione 5 • Gestione delle eccezioni

    Tratta try-catch-throw, gerarchie di eccezioni e progettazione di codice sicuro rispetto alle eccezioni. La corretta propagazione degli errori è obbligatoria nel software C++ professionale.

Certificazione

Il tuo certificato valido di completamento

Questo corso è per te:

  • Studente di informatica: desideroso di andare oltre lo pseudocodice verso linguaggi del mondo reale.

  • Sviluppatore Python o JavaScript: pronto a capire cosa succede sotto l'astrazione.

  • Aspirante sviluppatore di giochi: bisognoso del controllo a basso livello che solo il C++ offre.

  • Ingegnere elettrico: intenzionato a scrivere firmware e driver con strumenti linguistici moderni.

  • Persona in cambio di carriera: mira a ruoli di programmazione di sistema ben retribuiti provenendo da un background non informatico.

  • Costruttore hobbista: desideroso di programmare microcontrollori e dispositivi embedded in modo più efficace.

Cosa dicono i nostri studenti

Le sue lezioni sono perfette. Ho acquistato il pacchetto annuale e finalmente ho l'opportunità di seguire diversi argomenti di mio interesse senza dover cambiare piattaforma... vi ringrazio per tutto quello che fate, vi ho già raccomandati ad altre persone...
Giulio Carlo
Giulio CarloStudente di Marketing Digitale
Mi piace come le lezioni vanno dritte al punto e come riesco a cambiare capitoli e saltare contenuti di cui non ho bisogno.
Mariana Ferres
Mariana FerresStudentessa di Fotografia
Mi piace il contenuto e il modo di presentazione e trascrizione dei video, che accelera il processo!
Luciana Alvarenga
Luciana AlvarengaStudentessa di Nail Design
La piattaforma è veloce, semplice da usare. La diversità dei contenuti e i video complementari aiutano molto nell'apprendimento.
André Felipe
André FelipeStudente di Prompt Engineering

Principali percorsi formativi

FAQ

Chi è Dedika?

Il certificato è valido in Italia?

I corsi sono gratuiti?

Qual è il carico di lavoro del corso?

Come sono strutturati i corsi?

Come funzionano i corsi?

Qual è la durata dei corsi?

Qual è il costo o il prezzo dei corsi?

Cos’è un corso EAD o online e come funziona?

Corso PDF