Po získaní konečného technického schválenia od ISO 4. septembra sa očakáva, že C ++ 20 bude formálne zverejnený koncom tohto roka a bude obsahovať nové funkcie, ako sú moduly a korutiny.
Jazyk C ++, ktorý bol navrhnutý v roku 1979 pre programovanie systémov, zostáva dôležitým jazykom. C ++ sa dokonca zistilo, že je najrýchlejšie rastúcim jazykom v indexe Tiobe zo septembra 2020, kde je na štvrtom mieste za jazykmi C, Java a Python. Tiobe uvádza špecifikáciu C ++ 20 ako jeden z faktorov podporujúcich jazyk.
Medzi nové funkcie v jazyku C ++ 20 patria:
- Moduly, ktoré umožňujú programátorom používať modulárne komponenty.
- Koncepty, ktoré sa používajú na špecifikáciu požiadaviek na šablóny a na podporu všeobecného programovania. Koncepty sľubujú zlepšenie kvality kódu.
- Synchronizačná knižnica pre lepšiu podporu jemného ovládania hardvéru.
- Vylepšenia výpočtu v čase kompilácie.
- Coroutines, ktoré zovšeobecňujú podprogramy na použitie v nepreventívnej práci viacerých úloh. Štandardizovaná podpora pre korutíny v štandardnej knižnici však stále chýba. Táto podpora je zameraná na jazyk C ++ 23.
- Rozsahy, ktoré poskytujú komponenty na prácu s rozsahmi prvkov.
- Makrá na testovanie funkcií, sada makier, ktoré zodpovedajú jazykovým a knižničným funkciám od C ++ 11 alebo novšej.
- Vo vyhľadávaní sú predpočítané hodnoty hash.
- Príkazy rozšírenia umožňujúce opakovanie príkazu v čase kompilácie pre každý prvok n-tice, poľa, triedy, balíka parametrov alebo rozsahu.
- Monadické operácie pre
std :: optionalcode
. - Implicitné vytváranie objektov pre manipuláciu na nízkej úrovni.
- Vylepšené kontextové rozpoznávanie
dovoz
amodul
pomôcť nekompilátorovým nástrojom určiť závislosti zostavenia. - Nové zložité algoritmy.
Bola odstránená schopnosť kontraktov, ktorá sa v C ++ 20 očakávala, aby špecifikovala predbežné podmienky, následné podmienky a tvrdenia. Kontrakty sú teraz označené ako položka v C ++ 23, aj keď sa to do tohto vydania nemusí dostať.