C23
C23 on C-kielen tuleva ISO-standardiversio, jonka valmistumista odotettiin vuonna 2023, jolloin sen nimeksi tulisi C23 (epävirallisesti nimellä C2x).[1][2] Julkaisua suunnitellaan vuodelle 2024.[3]
C23 korvaa aiemman standardin C18.
Ehdotetut ominaisuudet jäädytettiin lokakuussa 2021 äänestämistä varten.[4][5] Muutoksia standardissa ovat muun muassa:[6]
- vanhan tyylisten esittelyjen ja määrittelyjen poisto (ilman prototyyppiä)[7]
- muiden kuin kahden komplementtimuotojen käyttö etumerkillisistä kokonaisluvuista poistuu (yhden komplementti)
- desimaaliset liukuluvut (DECFP) finanssimatematiikan käyttöön[8]
u8
merkkivakiot[9]- esimerkiksi syntaksilla
u8'a'
joka vastaaa
-kirjainta Unicodena
- esimerkiksi syntaksilla
- tyhjä alustus
= {}
[10] nullptr
vakio[11]true
jafalse
avainsanoiksi[12]- trigraph-tuen (kolmen merkin esitysmuodot) poistuminen: kolmen merkin esitysmuoto tulkitaan yhdeksi merkiksi, joka on yleensä virhetilanne eikä ohjelmoijan aikomus.[13] Trigraph-sarjat esiteltiin C89-standardissa vaihtoehtoisena esityksenä tietyille merkeille, joita käytetty merkistö ei tukenut. Trigraph-jakso alkaa merkeillä
??
ja tulkitaan invarianteiksi:# [ ] { } \ | ~ ^
.[14]
Lähteet
muokkaa- ↑ WG 14 Document Log open-std.org. Viitattu 11.3.2020. (englanniksi)
- ↑ Revised C23 Schedule (PDF) open-std.org. Viitattu 26.2.2022. (englanniksi)
- ↑ Updated C23 Schedule (PDF) open-std.org. Viitattu 6.3.2024. (englanniksi)
- ↑ Jens Gustedt: Feature freeze for C23 gustedt.wordpress.com. 16.10.2021. Viitattu 21.11.2022. (englanniksi)
- ↑ WG 14 Document Log open-std.org. Viitattu 21.11.2022. (englanniksi)
- ↑ C23 en.cppreference.com. Viitattu 21.11.2022. (englanniksi)
- ↑ Remove support for function definitions with identifier lists (PDF) open-std.org. Viitattu 21.11.2022. (englanniksi)
- ↑ Decimal floating-point arithmetic (PDF) open-std.org. Viitattu 21.11.2022. (englanniksi)
- ↑ Adding the u8 character prefix (PDF) open-std.org. Viitattu 21.11.2022. (englanniksi)
- ↑ Consistent, Warningless, and Intuitive Initialization open-std.org. Viitattu 21.11.2022. (englanniksi)
- ↑ Introduce the nullptr constant open-std.org. Viitattu 21.11.2022. (englanniksi)
- ↑ Make false and true first-class language features (PDF) open-std.org. Viitattu 21.11.2022. (englanniksi)
- ↑ Removing trigraphs??! (PDF) open-std.org. Viitattu 8.3.2024. (englanniksi)
- ↑ Rationale for International Standard—Programming Languages—C (PDF) open-std.org. huhtikuu 2003. Viitattu 8.3.2024. (englanniksi)
Aiheesta muualla
muokkaa- N3054 (PDF) (englanniksi) - luonnos standardista
- Programming Language C - C2x Charter (englanniksi)
- Catch-23: The New C Standard Sets the World on Fire (englanniksi)