Passer Auto comme argument en C
Il existe une méthode pour utiliser le mot-clé "auto" comme argument lors du passage à un autre fonction. C'est-à-dire que vous pouvez définir une fonction comme celle-ci :
int function(auto data) { // Does something }
Introduction par C 20 de Auto en tant que type de paramètre de fonction
C 20 permet l'utilisation de "auto" comme type de paramètre de fonction. Prenons l'exemple de l'extrait de code suivant :
int function(auto data) { // Do something, there are no constraints on data }
Modèles de fonctions abrégées
De plus, "auto" peut être utilisé comme modèle de fonction abrégé. Il s'agit d'une instance spécialisée d'une contrainte de type non contraignante ou, en d'autres termes, d'un « paramètre automatique sans contrainte ». Un « paramètre automatique contraint », en revanche, emploierait des concepts et apparaîtrait comme suit :
void function(const Sortable auto& data) { // Do something that requires data to be Sortable // Assuming there is a concept named Sortable }
Explication de la spécification C
La spécification C définit "spécificateurs de type d'espace réservé" comme suit :
type-constraint<sub>opt</sub> auto type-constraint<sub>opt</sub> decltype ( auto )
Ces spécificateurs de type d'espace réservé désignent un type d'espace réservé qui est soumis au remplacement ultérieur par déduction d'un initialiseur. Lorsqu'il est utilisé dans le "decl-specifier-seq" d'une déclaration de fonction ou d'une expression lambda, un spécificateur de type d'espace réservé de la forme "type-constraintopt auto" indique que la fonction est un modèle de fonction abrégé (selon 9.3.3.5).
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!