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

Ключевые новые функции и улучшения, принесенные C ++ 17

Опубликовано в 2025-04-14
Просматривать:626

What are the Key New Features and Enhancements Introduced in C  17?

] Каковы новые функции в C 17?

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

  • Template Argrege вывод для шаблонов класса

      Template для представления значений любого типа аргумента нетипа
    • auto x {8} в качестве целого числа
    • ] модернизируя с использованием ... и списка
    • contexpr lambdas
    • захватывает это в lambdas
    • attributes attributes] [Fallthrough] [, [, nodisp]
    • [и [Fallthroug [[imply_unused]]
    • атрибуты в пространствах имен и перечислениях
    • Использование в атрибутах, чтобы избежать повторных атрибутов имен
    • , требующие компиляции, чтобы игнорировать нестандартные атрибуты. (например, пространство имен A :: B)
    • simple static_assert (Expression); Без строки
    • не устраняет его брось и заменив ее на throw () и noexcept (true)
    • чистящий многопользователь (init; условие) и коммутатор (init; условие) для расширенных операторов IF и Switch
    • обобщение диапазона для цикла для цикла для стражей и пользовательских итераторов
    • , если ContExpr для почти генерации Code
  • misc:

    • Hexadecimal Point Point Literals
    • . для выражений
    • прямое инициализация списков enums
    • Guartes Guartes (FPGS)
  • символ U8'U ', u8't', U8'F ', U8'8'
  • noExct Ошибки включения массивы исправлений преобразования указателя

      ] исправлены для унаследованных конструкторов и агрегатной инициализации с наследственностью
    • полезных функций для STD Type Pulning
    • типы данных:
    • std :: variant для Tagged Unit value
    • std :: string_view как ссылка на массив символов или субстратинг
    • ]
    • std :: byte как ни целое, ни символ, но просто Data
  • std :: invoke for generic function calling

    std :: Применить для распаковки в функциональных вызовах

    std :: make_from_tuple и std :: Apply to invoke_result для функции функции функциональности
    • файловая система TS V1

      : улучшенные операции файловой системы
        ]
      • новые алгоритмы:
      • for_each_n, creat, transform_red, exklew_scan, inclusive_scan, inclusive_scan, inclussive_scan, inclusive_scan, inclussive_scan, inclusiess_scan, inclusiess_scan, inclusiess_scan, inclussize_scan. transform_inclusice_scan
      • thinking:
      • std :: shared_mutex, atomic :: is_always_lockfree, и scoped_lock
      • parallelism ts v1: [&> Machinery
    • библиотеки Основы TS V1:

      Алгоритмы поиска, полиморфический распределитель (PMR), выборка

      улучшения контейнеров:
      • умный указатель:
      • исправить на уникальные и отправтные Это
      • другие улучшения DataType DataType:
      • построение std :: tuple с Curly Braces, тривиально копируемые reference_wrapper
    • misc:
    • зарезервированный std [0-9] для будущих стандартных библиотек
    • полезных функций, таких как Destress, Uninitialized_move, uninitialized_value_construct и Unrighialized_default_construct
    • Функции std :: clamp ()
    • GCD и LCM Расчеты std :: uncaught_exceptions для броска в Destructors
    • std :: as_const и std :: bool_constant std :: anlocal_less для умных указателей для сортировки на основе содержания
    • ] Улучшения к std :: chrono std :: concunction, std :: disjunction, std :: negation
    • std :: not_fn для noExcept with std
    • std :: is_contigage_layout Высокое преобразование номера STD :: to_chars и std :: from_chars
      • Traits:
      • swap, is_aggregate, has_unique_object_representation
Последний учебник Более>

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

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

Copyright© 2022 湘ICP备2022001581号-3