C++17, anciennement connu sous le nom de C++1z, est une norme pour le langage de programmation C++. Elle a été publiée en sous le nom de ISO/CEI 14882:2017.
Suppression de certains types et fonctions obsolètes de la bibliothèque standard, notamment std::auto_ptr, std::random_shuffle et les anciens adaptateurs de fonction[3],[4]. Celles-ci ont été remplacées dans C++11 par des fonctionnalités améliorées telles que std::unique_ptr, std::shuffle, std::bind et lambdas.
Suppression de l'utilisation (anciennement obsolète) du mot clé register en tant que spécificateur de classe de stockage[5]. Ce mot-clé reste réservé.
Initialiseurs dans les instructions if et switch[21].
L'initialisation par copie et l'initialisation directe d'objets de type T partir de prvalue de type T (en ignorant les qualificatifs cv) n'entraîne l'appel d'aucun constructeur de copie ni de déplacement à partir de l'expression prvalue (élision de copie).
Déduction des arguments des classes templates disponibles pour les constructeurs[22],[23]. Autorisant l'écriture std::pair(5.0,false) au lieu d'exiger la fourniture explicite des types des arguments du constructeur std::pair<double,bool>(5.0,false) ou une fonction de construction intermédiaire std::make_pair(5.0,false).
Variables inline permettant la définition de variables dans les fichiers d'en-tête sans enfreindre la règle de définition unique (les règles sont similaires à celle des fonctions inline).
__has_include permettant de vérifier la disponibilité d'un en-tête par les directives du préprocesseur[24].
La valeur de __cplusplus est changée en 201703L[25].
Les spécifications d'exception ont été intégrées à la signature des fonctions[26].
Les expressions lambda peuvent capturer *this par valeur[27].
Bibliothèque
La majorité de Library Fundamentals V1 TS, y compris [28]:
std::string_view: référence non propriétaire en lecture seule sur une séquence de caractères ou une sous-chaîne de caractères[29].
Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.org внимательно изучите правила лицензирования конкретных элементов наполнения сайта.
2019-2025 WikiSort.org - проект по пересортировке и дополнению контента Википедии