Po končni tehnični odobritvi s strani ISO 4. septembra naj bi bil C ++ 20 uradno objavljen proti koncu letošnjega leta z uvedbo novih funkcij, kot so moduli in podprogrami.
C ++, zasnovan leta 1979 za sistemsko programiranje, ostaja ključni jezik. C ++ je bil celo najhitreje rastoč jezik v indeksu Tiobe septembra 2020, kjer je za C, Javo in Pythonom na četrtem mestu. Tiobe navaja specifikacijo C ++ 20 kot enega od dejavnikov, ki jezik spodbujajo.
Nove zmožnosti v C ++ 20 vključujejo:
- Moduli, ki programerjem omogočajo uporabo modularnih komponent.
- Koncepti, ki se uporabljajo za določanje zahtev za predloge in podporo splošnemu programiranju. Koncepti obljubljajo izboljšanje kakovosti kode.
- Knjižnica za sinhronizacijo za boljšo podporo natančnega nadzora strojne opreme.
- Izboljšave računalniškega prevajanja.
- Programi, ki posplošujejo podprograme za uporabo v nepreprečevalnem večopravilnem delu. Kljub temu pa še vedno ni standardizirane podpore za običajne programe v standardni knjižnici. Ta podpora je namenjena za C ++ 23.
- Območja, ki zagotavljajo komponente za obravnavo obsegov elementov.
- Makro za preizkušanje lastnosti, nabor makrov, ki ustrezajo jezikovnim in knjižničnim funkcijam iz C ++ 11 ali novejše različice.
- Vnaprej izračunane hash vrednosti pri iskanju.
- Stavki razširitve, ki omogočajo ponovitev stavka v času prevajanja za vsak element sklopa, matrike, razreda, paketa parametrov ali obsega.
- Monadične operacije za
std :: neobvezna koda
. - Implicitno ustvarjanje predmetov za manipulacijo na nizki ravni.
- Izboljšano kontekstno občutljivo prepoznavanje
uvoz
inmodul
za pomoč orodjem, ki ne prevajajo, za določanje odvisnosti gradnje. - Novi rangirani algoritmi.
Pogodbena sposobnost, ki je bila pričakovana v C ++ 20 za določanje predpogojev, postpogojev in trditev, je bila odstranjena. Pogodbe so zdaj označene kot postavka C ++ 23, čeprav morda tudi ne bo prišla v to izdajo.