C++
Il C++ moderno ha arricchito la libreria standard con una famiglia di tipi detti vocabolario, pensati per esprimere in modo chiaro concetti ricorrenti nella progettazione del software: un valore che potrebbe mancare, un valore che può assumere una tra più forme, un contenitore capace di conservare qualsiasi tipo.
C++
Lo standard C++20 introduce i moduli, un modo moderno di suddividere e riutilizzare il codice che affronta alla radice questi problemi, pur richiedendo un cambiamento nelle abitudini consolidate.
C++
La libreria delle ranges, introdotta con C++20, rappresenta una delle evoluzioni più profonde nel modo di manipolare sequenze di dati in C++.
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.