Identificateurs C++
Un identificateur est une séquence de caractères utilisés pour identifier un des éléments suivants :
objet ou nom de variable
Classe, structure, ou nom de l'union
Nom de type énuméré
membre d'une classe, d'une structure, d'une union, ou d'une énumération
Fonction ou fonction membre de classe
nom de typedef
Nom d'étiquette
nom de la macro
macro paramètre
Les caractères suivants sont autorisées comme le premier caractère d'un identificateur, ou tout caractère suivant :
_ a b c d e f g h i j k l m
n o p q r s t u v w x y z
A B C D E F G H I J K L M
N O P Q R S T U V W X Y Z
Les caractères suivants sont autorisées comme n'importe quel caractère d'un identificateur à l'exception de le premier :
0 1 2 3 4 5 6 7 8 9
Spécifique à Microsoft
Seuls les 2048 premiers caractères des identificateurs de Microsoft C++ sont significatifs.Les noms des types définis par l'utilisateur « sont décorés » par le compilateur pour conserver les informations de type.Le nom résultat, y compris les informations de type, ne peut pas comporter plus de 2048 caractères.(Consultez noms décorés pour plus d'informations.) les facteurs qui peuvent influencer la longueur d'un identificateur décoré sont :
Si l'identificateur indique un objet de type défini par l'utilisateur ou d'un type dérivé d'un défini par l'utilisateur tapez.
Si l'identificateur identifie une fonction ou un type dérivé d'une fonction.
Le nombre d'arguments d'une fonction.
le signe dollar est également un identificateur valide dans Visual C++.
// dollar_sign_identifier.cpp
struct $Y1$ {
void $Test$() {}
};
int main() {
$Y1$ $x$;
$x$.$Test$();
}
détail de FIN Microsoft
Le premier caractère d'un identificateur doit être une lettre, majuscule ou minuscule, ou un trait de soulignement ( _ ).Étant donné que les ID C++ respectent la casse, fileName est différent d' FileName.
Les ID ne peuvent pas être exactement la même orthographe et cas que des mots clés.Les identificateurs qui contiennent des mots clés sont autorisées.Par exemple, Pint est un identificateur légal, bien qu'il contienne int, qui est un mot clé.
L'utilisation de deux traits de soulignement séquentiels () au début d'un identificateur, ou un trait de soulignement unique suivie par une majuscule, est réservée pour les implémentations C++ dans toutes les portées.Vous devez éviter d'utiliser un trait de soulignement suivi d'une minuscule pour les noms avec la portée du fichier en raison de conflits possibles avec la valeur actuelle ou les identificateurs réservés par futur.