170 votes

En C++, ce qui est un « alias d’espace de noms » ?

Ce qui est un « alias d’espace de noms » en C++ ? Comment s’en sert-on ?

203voto

Martin B Points 14919

Un alias d’espace de noms est un moyen pratique de faire référence à un long espace de noms par un nom différent, plus court.

Par exemple, dire vous vouliez utiliser les vecteurs numériques d’uBLAS de Boost sans un `` directive. Indiquant l’espace de noms complet chaque fois c’est lourd :

Au lieu de cela, vous pouvez définir un alias pour --dire nous voulons abréger cela juste :

7voto

user2168377 Points 51

Tout simplement, le #define ne fonctionnera pas.

Compile correctement. Vous permet de contourner les collisions de noms de classe/namespace.

Sur la dernière ligne, « Hmm : Oops » est une erreur de compilation. Le pré-processeur il passe à Nope::Oops, mais non est déjà un nom de classe.

4voto

antitrust Points 4853

Plus sur ce sujet http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Core-C-/Stephan-T-Lavavej-Core-C-1-of-n

Il est tout au sujet de choisir un alias pour un looong nom d'espace de noms, tels que:

namespace SHORT = NamespaceFirst::NameSpaceNested::Meow

Puis, plus tard, vous pouvez typedef

typedef SHORT::mytype

au lieu de

typedef NamespaceFirst::NameSpaceNested::Meow::mytype

Cette syntaxe ne fonctionne que pour les espaces de noms, ne peut pas inclure les classes, les types après l' namespace NAME =

0voto

erelender Points 3634

Jetez un oeil ici. Il explique brièvement et donne un exemple.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X