Question

typedef const struct __CFString * a1;

Dans le ci-dessus typedef déclaration dit que a1 est défini comme un pointeur constant de la structure __CFString.

Ici ce n' "__" signifie?

Puis-je créer une nouvelle définition a2, décrit ci-dessous.

typedef const struct CFString * a2;

Alors, comment a1 est différente de a2?

Était-ce utile?

La solution

Tout d'abord, le caractère de soulignement __CFString sont une partie du nom, de sorte struct __CFString et struct CFString sont de types différents, tout comme struct XXCFString et struct CFString sont de types différents.

Deuxièmement, un nom commençant par un double soulignement est réservé pour la mise en œuvre.En d'autres termes, vous ne pouvez pas utiliser des noms qui commencent par un trait de soulignement double sans risquer une collision de nom.

Voici un autre AFIN de répondre avec plus de détails: Quelles sont les règles pour l'utilisation d'un trait de soulignement en C++ d'identification?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top