![]() ![]() ![]() |
|
L a n g a g e C++
L e s e s p a c e s d e n o m m a g e
Dans un programme, les fonctions globales, les variables globales et les classes sont placés de façon implicite dans un espace de nommage global. Le mot-clé static permet de rendre locale une variable ou une fonction. Mais dans un grand projet, le manque de contrôle de l'espace de nommage global peut causer des problèmes. Comme alternative à cela, les fabriquants (de librairies etc...) créent des noms longs et compliqués pour ne pas risquer d'entrer en conflit de nommage, mais nous sommes alors obligés d'utiliser et d'écrire ces noms longs dans nos programmes. typedef est souvent utilisé pour simplifier cela, mais ce n'est pas une solution élégante. Il est possible de subdiviser l'espace de nommage global en plusieurs sous espaces en utilisant la commande namespace du C ++. Le mot-clé namespace, semblable à class, struct, enum et union, met les noms de ses membres dans un espace distinct. Bien que les autres mots-clés soient complémentaires, la création d'un nouvel espace de nommage est la seule utilisation possible pour namespace. Création d'un espace de nommage
La création d'un espace de nommage est très similaire à la création d'une classe :
Ceci produit un nouvel espace de nommage contenant les déclarations situées entre les accolades. Toute variable, fonction, classe etc... déclarée dans un espace de nommage sera alors accessible en utilisant l'opérateur de résolution de portée :: Exemple :
Une autre solution consiste à utiliser le mot-clé using :
Il y a des différences importantes par rapport à class et struct :
Les espaces de nommage sans identifiant
Les espaces de nommage peuvent être déclarés sans identifiant, dans ce cas toute déclaration contenue dans cet espace sera considérée comme locale au fichier dans lequel il est défini. L'opérateur de résolution de portée :: ne peut plus être utilisé. Exemple :
|
![]() |
![]() |
![]() |
© 2000-2025 Exood4 Studio. Tous droits réservés. |