C++26
From Wikipedia, the free encyclopedia
Remove ads
C++26 on C++-ohjelmointikielen ISO-standardiversio, joka kehitetään C++23-standardin seuraajaksi.[1] Standardin on suunniteltu valmistuvan vuonna 2026.[2]
Ominaisuudet
Mukaan äänestettyjä kohtia ovat:[3]
- hazardiosoittimet: rinnakkaiseen käsittelyyn tarkoitetut lukottomat osoittimet, joilla on yksi kirjoittaja ja useita lukijoita. Vain osoittimen omistaja voi asettaa sen arvon ja mikä tahansa määrä säikeitä voi lukea sen arvon.[4] Hazardiosoittimet ovat samankaltainen tekniikka kuin Read-Copy-Update (RCU); ensimmäinen on käytössä MongoDB:ssä ja jälkimmäinen on käytössä Linuxissa.[5][6] Myös Read-Copy-Update -mekanismin tukea on ehdotettu lisättäväksi C++26-standardiin.[7]
- nimen pois jättäminen tietyissä tilanteissa[8]
- määrittelemättömän käytöksen poistaminen tietyissä tilanteissa (P2621R3)[9]
- alustakohtaiset tiedostokahvat[10]
Ehdotettuja kehityskohtia ovat:[11]
- reflektio[12][13]
- asynkroninen suoritus
std::execution
[14] - lineaarialgebra (osa Fortranille kehitetystä BLAS-standardista)[15][16]
Edistettäviä, mutta ei varmaa valmistumisajankohtaa:[11]
- contracts
Neljäksi avainkohdaksi mainitaan asynkronisen suorittamisen std::execution
parannukset, tyyppi- ja muistiturvallisuuden parannukset, reflektio ja contracts.[17] Eräs ehdotettu muutos on, että alustamaton muuttuja ei enää ole määrittelemätöntä (P2795R5). Muutoksen myötä alustamaton luku voidaan määritellä virheeksi.[18] Lisäksi muut määrittelemättömät käytökset voidaan poistaa (P3436R1).[19]
Remove ads
Lähteet
Aiheesta muualla
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads