Fonctionnalités C 17 dans les compilateurs C 1z
C 17 est désormais doté de fonctionnalités complètes et les compilateurs prenant en charge "C 1z" implémenteront la plupart des fonctionnalités ajoutées dans C 17. Certaines des fonctionnalités clés qui seront disponibles dans les compilateurs C 1z inclure :
Caractéristiques du langage :
- Déduction d'arguments de modèle pour les modèles de classe
- modèle
- Non -type arguments du modèle correctifs
- templatetypename bob> struct foo {}
- ( Pliage d'expressions...) avec révisions
- auto x{8} ; est un int
- Modernisation en utilisant avec ... et des listes
Lambda :
- Constexpr lambdas
- Capturer *ceci dans lambdas
Attributs :
- [[fallthrough]], [[nodiscard]], [[maybe_unused]] attributs
- [[attributs]] sur les espaces de noms et énumérateurs
Nettoyage de la syntaxe :
- Variables en ligne
- Nettoyeur multi-retours et contrôle de flux avec liaisons structurées et if (init ; condition) syntaxe
Données Types :
- std::variant
- std::facultatif
- std::any
- std::string_view
Invoquer Trucs :
- std::invoke
- std::apply
- std::make_from_tuple
- is_invocable, is_invocable_r et Invoquer_result
Système de fichiers TS v1 :
- Classes et fonctions liées aux E/S de fichiers
Algorithmes :
- De nouveaux algorithmes tels que for_each_n, réduire et transformer_reduce
Threading :
Principes fondamentaux de la bibliothèque TS v1 :
- Algorithmes et techniques de recherche
- Allocateur polymorphe (std::pmr)
- Améliorations du conteneur, y compris l'épissage et std::size non membre
Intelligent Pointeurs :
Autres changements :
- La bibliothèque C 17 est basée sur C11 au lieu de C99
- Mathématiques spéciales fonctions
- std::clamp
- std::void_t
Remarque : Veuillez consulter la documentation du compilateur pour la liste exacte des fonctionnalités C 17 prises en charge par votre compilateur spécifique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!