Maison > développement back-end > C++ > Quelles fonctionnalités C 17 sont implémentées dans les compilateurs C 1z ?

Quelles fonctionnalités C 17 sont implémentées dans les compilateurs C 1z ?

Susan Sarandon
Libérer: 2024-12-26 19:10:12
original
654 Les gens l'ont consulté

What C  17 Features are Implemented in C  1z Compilers?

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 :

  • std::shared_mutex

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 :

  • unique_ptr correctifs

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal