Список функций C ++ 20 завершен


Комитет ISO C ++ решил, какие функции будут включены в следующий стандарт C ++, с множеством улучшений и новых функций, включая модули, концепции и сопрограммы. C ++ 20 должен быть опубликован к февралю 2020 года.

Это самый крупный выпуск C ++ со времен C ++ 11, и список основных новых функций впечатляет:

модули
сопрограммы
концепции, в том числе в стандартной библиотеке через диапазоны
<=> космический корабль в стандартной библиотеке
широкое использование обычного C ++ для прямого программирования во время компиляции, не прибегая к метапрограммированию шаблонов (см. отчеты о последних поездках)
диапазоны
календари и часовые пояса
форматирование текста
охватывать

Включение поддержки модулей избавит от необходимости использовать текущую систему #include и позволит программистам на C ++ разделить код на логические части способом, более похожим на другие языки.
Сопрограммы — это функции, которые могут приостанавливать выполнение, чтобы возобновить его позже. Они не имеют стека и приостанавливают выполнение, возвращаясь к вызывающей стороне, что означает, что у вас может быть последовательный код, который выполняется асинхронно.
В библиотеку включены концепции, определяющие фундаментальные концепции, которые можно использовать для выполнения проверки аргументов шаблона во время компиляции. Эти концепции также будут означать, что диспетчеризация функций может выполняться на основе свойств типов. Эти концепции обеспечивают основу для логического мышления в программах.
Одно из основных улучшений, которое должно было быть включено, но которое теперь было удалено из списка функций, — это контракты. Контракты позволяют выражать предварительные условия, постусловия и утверждения в коде с использованием единого синтаксиса с такими параметрами, как наличие разных уровней контрактов и настраиваемые обработчики нарушений. Однако комитет решил, что, поскольку все еще существуют «сохраняющиеся разногласия и опасения по поводу дизайна», включение этой функции было отложено и была создана новая исследовательская группа по контрактам.
Члены комитета Reddit подробно описывают, что вошло и что не вошло в C ++ 20.

.


Добавить комментарий