C 26
Siirry navigaatioon
Siirry hakuun
C 26 on C -ohjelmointikielen ISO-standardiversio, joka kehitetään C 23-standardin seuraajaksi.[1] Standardin on suunniteltu valmistuvan vuonna 2026.[2]
Ominaisuudet
[muokkaa | muokkaa wikitekstiä]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[9]
- alustakohtaiset tiedostokahvat[10]
Ehdotettuja kehityskohtia ovat:[11]
- reflektio[12]
- asynkroninen suoritus
std::execution
[13] - lineaarialgebra (osa Fortranille kehitetystä BLAS-standardista)[14][15]
Edistettäviä, mutta ei varmaa valmistumisajankohtaa:[11]
- contracts
Lähteet
[muokkaa | muokkaa wikitekstiä]- ↑ Current Status isocpp.org. Viitattu 5.7.2024. (englanniksi)
- ↑ C IS schedule (PDF) open-std.org. 14.5.2024. Viitattu 5.7.2024. (englanniksi)
- ↑ Five Awesome C Papers for the H1 2023 - C 26 cppstories.com. Viitattu 17.7.2024. (englanniksi)
- ↑ Hazard Pointers for C 26 (PDF) open-std.org. Viitattu 5.7.2024. (englanniksi)
- ↑ Proposed Wording for Concurrent Data Structures: Hazard Pointer and Read-Copy-Update (RCU) (PDF) open-std.org. Viitattu 5.7.2024. (englanniksi)
- ↑ Paul E. McKenney: Structured Deferral: Synchronization via Procrastination (PDF) dl.acm.org. 2013. doi:10.1145/2488364.2488549. Viitattu 5.7.2024. (englanniksi)
- ↑ Read-Copy Update (RCU) (PDF) open-std.org. 8.3.2023. Viitattu 17.7.2024. (englanniksi)
- ↑ A nice placeholder with no name (PDF) open-std.org. Viitattu 17.7.2024. (englanniksi)
- ↑ UB? In My Lexer? (PDF) open-std.org. Viitattu 17.7.2024. (englanniksi)
- ↑ Native handles and file streams open-std.org. Viitattu 17.7.2024. (englanniksi)
- ↑ a b Ville Voutilainen: To boldly suggest an overall plan for C 26 open-std.org. 20.9.2022. Viitattu 17.7.2024. (englanniksi)
- ↑ Reflection for C 26 open-std.org. 15.10.2023. Viitattu 17.7.2024. (englanniksi)
- ↑ P2300R10 std::execution open-std.org. 28.6.2024. Viitattu 14.8.2024. (englanniksi)
- ↑ Basic linear algebra algorithms (since C 26) en.cppreference.com. Viitattu 14.8.2024. (englanniksi)
- ↑ Basic Linear Algebra Subprograms Technical (BLAST) Forum Standard (PDF) netlib.org. 21.8.2001. Viitattu 14.8.2024. (englanniksi)
Aiheesta muualla
[muokkaa | muokkaa wikitekstiä]- C 26 ominaisuudet ja tuki kääntäjissä (englanniksi)