«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Каковы ключевые язык и функции библиотеки, представленные в C ++ 17?

Каковы ключевые язык и функции библиотеки, представленные в C ++ 17?

Опубликовано в 2025-02-06
Просматривать:397

What are the Key Language and Library Features Introduced in C  17?

новые функции в C 17

после завершения разработки функций для C 17, было введено несколько новых языковых функций и дополнения библиотеки:

языковые функции:

  • улучшенное использование шаблона:

    • Шаблоны класса
    • представление значений любого типа с Template & lt; Auto & gt;
  • Введение contexpr lambdas

    способность захватить это в lambdas
    attributes:
  • ВВЕДЕНИЕ новых атрибутов, таких как [[[Падение]], [[nodiscard]], и [возможно ,_unused]]

  • inline переменные

    упрощенное синтаксис пространства имен: пространство имен A :: b

    no-throw Expressions: throw () и noexcte (true)
    • Усовершенствование потока управления:
  • структурированные привязки для распаковки значений

    if (init; Условие) и Switch (init; условие) для усиленного управления потоком

    обобщенного диапазона на основе циклов
    • if constexpr для условного компиляции
    • Другие примечательные функции:
  • Hexadecimal Ploat Point Literals

    динамическое распределение памяти для чрезмерных данных

    гарантированная копия
      ]
    • Исправлено порядок оценки для выражений
    • прямое инициализация списка enums
    • направить гарантии прогресса для потоков
    • &&&]] Библиотека добавления:
  • типы данных:

std :: Вариант для представления значений разных типов

std: : Необязательно для представления необязательных значений std :: any для представления значений любого типа, включая неполных типов

    std :: string_view для эффективной обработки ссылок на строки
  • ]] std :: byte для представления данных без типа информации
  • Callable обработка:
  • std :: invoke для generic callable inpocation

std :: Подайте заявку на Callable вызов на основе Tuple std :: make_from_tuple для построения объектов из ставок

    введение is_invocable и связанные с ними признаки
  • ] Библиотека файлов:
  • реализация технической спецификации файловой системы (ts)

новые алгоритмы:

  • ]
  • for_each_n, уменьшить, transform_reduce и mest

] Access

    атомные гарантии и обнаружение размера размера аппаратного помех

библиотека Основы TS Addations:

    поиск алгоритмов (alg.search)
  • полиморфический Allocator (PMR)

] Усовершенствования контейнера:

  • ]
  • Try_emplace и INSERT_OR_ASSIGN для эффективной вставки контейнера
  • ] Сплайсинг для карт, устанавливает и неупорядоченные контейнеры
неконфиртинг данных () для строк

Smart Pointers:
  • интеллектуальные &&&] исправляет и настраивает на уникальный_ptr
  • введение Sleed_from_this для управления общими указателями

misc:

Использование C11 вместо C99 для стандартной библиотеки
  • зарезервированные std [0-9] пространства имен для будущих стандартных библиотек
  • различные полезные функции (Dissult, Uninitialized _ ***)
] Воздействие специальных математических функций

Введение std :: clamp, std :: gcd, и std :: lcm

Улучшения обработки исключений, включая std :: uncaught_exceptions
  • std :: as_const, std :: bool_constant, и различные утилиты шаблона
  • улучшенные std :: Chrono Library
  • правила для использования noexcept в STD
  • устаревшие функции:
  • удаление некоторых библиотек C, & lt; codecvt & gt ;,, result_of и другие
  • ]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3