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 стають ключовими словами

Посилання

[ред. | ред. код]
Попередник:
C17
Стандарти мови C Найновіший