C++
I template offrono un potere enorme, ma presentano un difetto storico: quando si passa a un template un tipo che non supporta le operazioni richieste, il compilatore produce messaggi di errore lunghi e criptici, spesso relativi a punti interni del codice lontani dalla causa reale. Lo standard C++20 introduce i concept per risolvere proprio questo problema, permettendo di esprimere in modo chiaro e verificabile i requisiti che un tipo deve soddisfare per essere usato con un template.
C++
I processori moderni dispongono di più core, e per sfruttarne appieno la potenza è necessario eseguire più operazioni contemporaneamente. La programmazione concorrente consente proprio questo: suddividere il lavoro in flussi di esecuzione paralleli chiamati thread.
C++
Quasi ogni programma reale deve, prima o poi, leggere dati da un file o salvarne il risultato su disco. Il C++ affronta la gestione dei file attraverso gli stream, lo stesso modello concettuale usato per l'input e l'output su console.
C++
Le espressioni lambda, introdotte con C++11, permettono di definire funzioni anonime direttamente nel punto in cui servono, senza doverle dichiarare separatamente.