C2x - неофициальное название следующей (после C17 ) основной версии стандарта языка C. [1] Ожидается, что голосование состоится не раньше декабря 2021 года. [2] [3]
Функции
Среди предлагаемых функций:
- одинарный аргумент _Static_assert
- Синтаксис атрибута стиля C ++ 11 [4]
- расширенная двоичная арифметика с плавающей запятой, десятичная арифметика с плавающей запятой
memccpy()
,strdup()
,strndup()
- по аналогии с функциями найдены в POSIX и SVID расширений Cchar8_t
типа, в том же духе, чтоchar16_t
иchar32_t
добавленный в C11 (предложение N2231 [5] ).- добавить новый принцип к «исходным принципам» языка C: «15. Интерфейсы прикладного программирования (API) должны быть по возможности самодокументированными. В частности, порядок параметров в объявлениях функций должен быть таким, чтобы размер массива появляется перед массивом. Цель состоит в том, чтобы разрешить использование нотации массивов переменной длины (VLA). Это не только делает цель кода более понятной для читателей, но и упрощает статический анализ. Любые новые API, добавленные в Стандарт, должны принимать это во внимание ". [2]
- Возможно IEEE 754-2019 с удаленными fmaxmag / fminmag. [6]
- Стандартизация оператора typeof (...) [7]
Служба поддержки
НКУ 9 [3] и Clang 9.0 [4] Составители поддерживают -std = C2X возможность поддерживать этот стандарт.
Рекомендации
- ^ «История C» . cppreference .
- ^ а б Китон, Дэвид (2016-09-19). «WG 14 N 2086 - Устав C2x» . www.open-std.org . Проверено 2021 января .
- ^ а б Ларабель, Майкл (2018-10-18). «Компилятор GCC 9 добавляет -std = c2x и -std = gnu2x для будущего обновления языка C» . Фороникс .
- ^ а б Ларабель, Майкл (2019-05-14). «LLVM Clang 9.0 выбирает начальный языковой режим C2x» . Фороникс .
- ^ Хонерманн, Том (2018-03-25). «Предложение для C2x WG14 N2231. Char8_t: тип для символов и строк UTF-8» . Проверено 22 февраля 2021 года .
- ^ «Добавить макрос проверки функций _ISOC2X_SOURCE - Пэчворк» . patches-gcc.linaro.org . Проверено 2 марта 2021 .
вероятно, что некоторые функции 18661-1 не попадут в C2X; в частности, изменения минимальных / максимальных операций в IEEE 754-2019 могут привести к удалению fmaxmag / fminmag (см. < http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2273.pdf >)
- ^ Менеиде, Жан Хейд (07.03.2021). "Not-So-Magic - typeof (…) в C" . Проверено 19 апреля 2021 .
Внешние ссылки
Предшественник C17 | Стандарты языка C | Последний |