Directive using

De Appmethod Topics
Aller à : navigation, rechercher

Remonter à Espaces de nommage C++ - Index

Si vous voulez utiliser certains (ou tous les) membres d'un espace de nommage, C++ propose un moyen simple d'accéder à tout l'espace de nommage. La directive using a pour conséquence que tous les identificateurs d'un espace de nommage se trouvent dans la portée du point où l'instruction contenant la directive using est exécutée. La directive using utilise la grammaire suivante.

Directive-using :

using namespace :: opt spécificateur-nom-imbriqué opt nom-espace_de_nommage;

La directive using est transitive. Lorsque vous appliquez la directive using à un espace de nommage contenant lui-même des directives using, vous avez également accès à ces espaces de nommage. Si, par exemple, vous appliquez la directive using dans votre programme, vous obtenez également les espaces de nommage qux, foo et bar.

   namespace qux {
      using namespace foo;  // Cela a été défini préalablement
      using namespace bar;  // Cela a également été défini préalablement
      }

La directive using n'ajoute aucun identificateur à la portée locale. Donc, un identificateur défini dans plusieurs espaces de nommage ne pose pas de problème sauf si vous l'utilisez. Les déclarations de portée locale ont la priorité en masquant toutes les autres déclarations similaires.

Avertissement :  N'utilisez pas de directive using dans les fichiers en-tête. Vous risqueriez de rompre les espaces de nommage dans le code client.

Voir aussi