Programavimas

C ++ 20 gauna galutinį techninį patvirtinimą

Tikimasi, kad rugsėjo 4 d. Gavęs ISO galutinį techninį patvirtinimą, C ++ 20 bus oficialiai paskelbtas šių metų pabaigoje, pristatant naujas funkcijas, tokias kaip moduliai ir korutinos.

Sukurtas 1979 m. Sistemų programavimui, C ++ išlieka gyvybiškai svarbi kalba. „C ++“ netgi buvo nustatyta, kad 2020 m. Rugsėjo mėn. „Tiobe“ indeksas yra sparčiausiai auganti kalba, kur ji užima ketvirtą vietą už C, „Java“ ir „Python“. Tiobe nurodo C ++ 20 specifikaciją kaip vieną iš veiksnių, suteikiančių kalbai postūmį.

Naujos „C ++ 20“ galimybės apima:

  • Moduliai, leidžiantys programuotojams naudoti modulinius komponentus.
  • Sąvokos, naudojamos šablonų reikalavimams nurodyti ir bendram programavimui palaikyti. Koncepcijos žada pagerinti kodo kokybę.
  • Sinchronizavimo biblioteka, skirta geriau palaikyti smulkų aparatūros valdymą.
  • Kompiliavimo laiko skaičiavimo patobulinimai.
  • Korutinai, kurie apibendrina paprogrames, skirtas naudoti neprepresyviems daugiafunkciniams veiksmams. Vis dėlto trūksta standartizuoto palaikymo korutinai standartinėje bibliotekoje. Ši parama nukreipta į C ++ 23.
  • Diapazonai, pateikiantys komponentus, kad būtų galima spręsti elementų diapazonus.
  • Funkcijų testavimo makrokomandos, makrokomandų rinkinys, atitinkantis kalbos ir bibliotekos funkcijas iš C ++ 11 ar naujesnės versijos.
  • Iš anksto apskaičiuotos maišos vertės, atliekant paiešką.
  • Išplėtimo sakiniai, leidžiantys kartoti kiekvieno kartelio, masyvo, klasės, parametrų paketo ar diapazono elemento teiginio kartojimą.
  • Monadinės operacijos std :: pasirenkamas kodas.
  • Numanomas objektų kūrimas žemo lygio manipuliacijoms.
  • Pagerintas kontekstui jautrus atpažinimas importas ir modulis padėti nekompiliatorių įrankiams nustatyti sukūrimo priklausomybes.
  • Nauji diferencijuoti algoritmai.

Pašalinta sutarčių galimybė, kurios buvo tikėtasi C ++ 20, kad būtų nurodytos išankstinės sąlygos, sąlygos ir tvirtinimai. Dabar sutartys pažymėtos kaip C ++ 23 elementas, nors ji taip pat negali patekti į šį leidimą.

$config[zx-auto] not found$config[zx-overlay] not found