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 та інші мови