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 vastaa a-kirjainta Unicodena
  • tyhjä alustus = {}[10]
  • nullptr vakio[11]
  • true ja false 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
  1. WG 14 Document Log open-std.org. Viitattu 11.3.2020. (englanniksi)
  2. Revised C23 Schedule (PDF) open-std.org. Viitattu 26.2.2022. (englanniksi)
  3. Updated C23 Schedule (PDF) open-std.org. Viitattu 6.3.2024. (englanniksi)
  4. Jens Gustedt: Feature freeze for C23 gustedt.wordpress.com. 16.10.2021. Viitattu 21.11.2022. (englanniksi)
  5. WG 14 Document Log open-std.org. Viitattu 21.11.2022. (englanniksi)
  6. C23 en.cppreference.com. Viitattu 21.11.2022. (englanniksi)
  7. Remove support for function definitions with identifier lists (PDF) open-std.org. Viitattu 21.11.2022. (englanniksi)
  8. Decimal floating-point arithmetic (PDF) open-std.org. Viitattu 21.11.2022. (englanniksi)
  9. Adding the u8 character prefix (PDF) open-std.org. Viitattu 21.11.2022. (englanniksi)
  10. Consistent, Warningless, and Intuitive Initialization open-std.org. Viitattu 21.11.2022. (englanniksi)
  11. Introduce the nullptr constant open-std.org. Viitattu 21.11.2022. (englanniksi)
  12. Make false and true first-class language features (PDF) open-std.org. Viitattu 21.11.2022. (englanniksi)
  13. Removing trigraphs??! (PDF) open-std.org. Viitattu 8.3.2024. (englanniksi)
  14. Rationale for International Standard—Programming Languages—C (PDF) open-std.org. huhtikuu 2003. Viitattu 8.3.2024. (englanniksi)

Aiheesta muualla

muokkaa
Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.