48 votes

étendue de l’utilisation de la déclaration dans un espace de noms

Est-il sûr (et correct) dans un fichier d’en-tête C++ d’utiliser la déclaration using dans un espace de noms comme suit :

C’est-à-dire que le « using boost::numeric::ublas::vector » est-il correctement contenu dans le bloc MyNamespace, ou cela va-t-il polluer l’espace de noms de tout fichier qui inclut cet en-tête ?

13voto

Björn Pollex Points 41424

Une déclaration d’utilisation est, comme son nom l’indique, une déclaration. Toutes les déclarations sont étendues au bloc englobant (7.2), dans ce cas l’espace de noms `` . Il ne sera pas visible en dehors de cet espace de noms.

4voto

BЈовић Points 28674

C’est sûr, mais cela polluera l’espace de noms MyNamespace. Ainsi, tout fichier qui inclut cet en-tête aura des fonctions / classes dans l’espace MyName.

1voto

Puppy Points 90818

Il ne polluera aucun autre espace de noms, mais il polluera certainement l’espace de noms MyNamespace.

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