Описание тега c++17
C++17 - это название стандарта C++, утвержденного в 2017 году. Он основан на предыдущем стандарте C++14, улучшая основной язык и стандартную библиотеку, а также добавляя несколько новых языковых функций.
C++17 - это название стандарта C++, который появился после C++14. Он основан на предыдущем стандарте C++14, улучшая основной язык и стандартную библиотеку, а также добавляя несколько новых языковых функций.
Стандарт ISO, международный стандарт ISO/IEC 14882:2017 Язык программирования C++ доступен для покупки на веб-сайте ISO. Все основные изменения с C++14 на C++17 перечислены в P0636r0.
Помечайте вопросы о C++17 тегом C++ вместе с тегом C++17.
Новые особенности
Основной язык
- вывод аргументов шаблона для шаблонов классов
- constexpr, если операторы
- структурированные привязки
- лямбда-выражения constexpr
- параметры шаблона без типа с автоматическим типом
- Операторы инициализации для if и s witch
- встроенные переменные
- определение вложенного пространства имен
- сложить выражения
typename
в параметре шаблона шаблона- удаление триграфов
- символьные литералы u8
- совокупная инициализация классов базовыми классами
- лямбда-захват * этого
- гарантированная копия
- упаковать расширения в объявлениях использования
- шестнадцатеричные литералы с плавающей запятой
Библиотека
- новые заголовки:
<any>
<optional>
<variant>
<memory_resource>
<string_view>
<charconv>
<execution>
<filesystem>
- незначительные изменения в уже существующих заголовках