Maison >développement back-end >C++ >Puis-je utiliser des traits de soulignement dans les identifiants C sans enfreindre la norme ?

Puis-je utiliser des traits de soulignement dans les identifiants C sans enfreindre la norme ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-28 21:25:12581parcourir

Can I Use Underscores in C   Identifiers Without Breaking the Standard?

Est-il permis d'utiliser un trait de soulignement dans un identifiant C ?

C utilise certaines conventions pour nommer les variables membres, par exemple en les préfixant avec un caractère comme 'm_' pour les différencier des variables et paramètres locaux. Cependant, l'utilisation de traits de soulignement comme préfixe, comme on le voit dans d'autres frameworks comme .NET, soulève des questions sur sa validité dans le standard C.

Les règles régissant l'utilisation du soulignement

Selon la norme C, les règles suivantes s'appliquent à l'utilisation des traits de soulignement dans identifiants :

Portées réservées

  • Les noms commençant par un trait de soulignement suivi d'une lettre majuscule ou contenant des traits de soulignement adjacents sont réservés à une utilisation dans n'importe quelle portée.

Mondial Espace de noms

  • Les identifiants commençant par un trait de soulignement sont réservés à l'espace de noms global.

Espace de noms std

  • Tout dans l'espace de noms std est réservé, y compris les spécialisations de modèles.

Restrictions C99

Bien qu'elle ne soit pas directement applicable au C, la norme C99 restreint davantage l'utilisation des traits de soulignement :

  • Les identifiants commençant par un trait de soulignement suivi d'une lettre majuscule sont réservés à tout utiliser.
  • Les identifiants commençant par un trait de soulignement sont réservés en tant qu'identifiants de portée de fichier.

Autres restrictions

  • Début des identifiants par des traits de soulignement est généralement déconseillé.
  • Les doubles traits de soulignement (__) doivent être évités au total.
  • La terminaison des identifiants par _t est réservée par la norme POSIX pour les noms de types supplémentaires.

Identifiants réservés standard POSIX

Le POSIX La norme réserve également de nombreux identifiants susceptibles d'entrer en conflit avec l'utilisation normale du code, y compris ceux commençant par des préfixes tels que « E », « est », « à » et "LC_."

Conclusion

Bien que l'utilisation de traits de soulignement dans les identifiants C soit techniquement autorisée, il est recommandé de respecter les règles décrites ci-dessus pour éviter les conflits potentiels et la confusion.

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!

Déclaration:
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