C23
Зовнішній вигляд
(Перенаправлено з C2x)
C23 — це неофіційна назва наступної (після C17) головної редакції стандарту мови C. Очікується, що голосування і затвердження стандарту відбудеться у 2023-го року.
Зміни, інтегровані в останній робочий проєкт:
- Підтримка стандарту ISO/IEC 60559:2020, поточної версії стандарту IEEE 754 для арифметики з рухомою комою.
- _Static_assert з одним аргументом
- Синтаксис атрибутів стилю C++11, атрибути
nodiscard
,maybe_unused
,deprecated
таfallthrough
- Розширена двійкова арифметика з рухомою комою, десяткова арифметика з рухомою комою
memccpy()
,strdup()
,strndup()
— схожі на функції в розширеннях POSIX і SVID C- Необхідний представлення знака Доповняльного коду
- Видалення визначень функції K&R
- Мітки можуть з'являтися перед оголошеннями та в кінці складених операторів
- Безіменні параметри у визначеннях функцій
- Двійкові літерали, такі як
0b10101010
,і специфікатор перетворення%b
для сімейства функційprintf()
- Краща підтримка використання const з масивами
- Типи загальних функції для виконання перевіреної цілочисельної арифметики (Integer overflow)
_BitInt(N)
іUnsignedBitInt(N)
для цілих чисел з точністю до розряду- #elifdef і #elifndef
- Роздільники цифр: 0xFFFF'FFFF
- Стандартизація оператора
typeof(...)
(typeof) - Змінно модифіковані типи (але не VLA в стеку) стають обов'язковою функцією
- Нульова ініціалізація за допомогою {} (включаючи ініціалізацію VLA)
- alignas, alignof, bool, true, false, static_assert, thread_local стають ключовими словами
- C. Документи робочої групи WG14 [Архівовано 30 серпня 2014 у Wayback Machine.]
- N2731, робочий проєкт стандарту (жовтень 2021 р.) [Архівовано 14 березня 2022 у Wayback Machine.]