Avoir des espaces de noms semble être une évidence pour la plupart des langues. Mais pour autant que je sache, ANSI C ne le prend pas en charge. Pourquoi pas? Avez-vous l’intention de l’inclure dans une future norme?
Réponses
Trop de publicités?C a des espaces de noms. La syntaxe est . Vous pouvez même les imbriquer comme dans
. Et si vous souhaitez pouvoir accéder aux noms sans écrire le nom de l’espace de noms à chaque fois, incluez les macros de préprocesseur pertinentes dans un fichier d’en-tête, par exemple.
C’est beaucoup plus propre que le mangling de nom et les autres atrocités que certains langages commettent pour fournir des espaces de noms.
Historiquement, les compilateurs C ne mutilent pas les noms (ils le font sur Windows, mais le mangling pour la `` convention d’appel consiste uniquement à ajouter un préfixe de trait de soulignement).
Cela facilite l’utilisation des bibliothèques C à partir d’autres langages (y compris l’assembleur) et est l’une des raisons pour lesquelles vous voyez souvent des `` wrappers pour les API C++.