Partager via


Déclarateurs de abrégé sur C++

un déclarateur abstrait est un déclarateur dans lequel l'identificateur est omis.(Pour plus d'informations, consultez Noms de types et le déclarateurs) alors que non abstraits des déclarateurs sont utilisés dans la déclaration des objets ou des fonctions, éliminer l'identificateur partie uniquement les informations de type.Par conséquent, les déclarateurs abstraits ont l'effet de modifier un type de base tel qu' char pour spécifier un type plus complexe tel que le pointeur se char ou tableau char.Fondamentalement, elles sont toujours utilisées en combinaison avec un nom du type de base et uniquement utilisées dans les cas où un pointeur, un tableau ou un type référence est appelé (pointeur y compris à fonctionner en retournant ce type de base).Les déclarateurs abstraits correspondant au suivant sont présentés dans cette section :

Un déclarateur abstrait est un déclarateur qui ne déclare pas de nom - identificateur est omis.Par exemple :

char * 

spécifie le pointeur de type en type char.Le nom de type inclut le nom de base char de type et le déclarateur abstrait *.

De même, les déclarateurs abstrait pour une référence est & l'opérateur, et un type de tableau est spécifié en utilisant des parenthèses.Tout type peut être spécifié en appliquant simplement la syntaxe pour le déclarateur et en supprimant l'identificateur.

char &   // reference to char
char[5] // array of char

Voici une utilisation plus compliquée d'un déclarateur abstrait qui déclare le type pointeur vers une fonction qui prend deux arguments, les deux de type char *, et retourne tapez char *:

char * (*)( char *, char * )

En association avec le spécificateur de base de type, les déclarateurs abstraits déclarent complètement un type.Les noms de types construits des déclarateurs abstraits peuvent être utilisés partout où un type est appelée pour :

// Get the size of array of 10 pointers to type char.
size_t nSize = sizeof( char *[10] );
// cast fptr to pointer to function that takes two arguments, both of type
// pointer to char
 i = (char * (*)(char*, char*)) fptr; 

spécificateur de typedef peut être utilisé pour éviter de répéter la syntaxe pratique d'utiliser des déclarateurs abstraits.

Voir aussi

Référence

Déclarateurs