namespace A
{
#include <iostream>
};
int main(){
A::std::cout << "\nSample";
return 0;
}
Répondre
Réponse courte: Non
Réponse longue: Eh bien, pas vraiment. Vous pouvez simuler, cependant. Vous pouvez le déclarer à l'extérieur et utiliser l'aide d'instructions à l'intérieur de l'espace de noms, comme celui-ci:
#include <iostream>
namespace A
{
using std::cout;
};
int main(){
A::cout << "\nSample";
system("PAUSE");
return 0;
}
Vous ne pouvez pas localiser une bibliothèque, parce que même si elle avait accès à A, il ne serait pas avoir accès à l'espace de noms standard. En outre, "L'autre problème est que les noms qualifiés dans l'espace de noms seraient A :: std :: cout, mais la bibliothèque ne contiendrait pas de noms qualifiés avec l'espace de nom externe." merci Jonathon Leffler. Si le problème est que vous ne voulez pas que les autres personnes sachent ce que tout votre code peut faire, vous pouvez avoir votre propre fichier cpp pour inclure iostream et avoir l'espace de noms défini ici. Ensuite, vous incluez juste cela dans le main (ou quoi que ce soit) et laissez le programmeur savoir ce qu'il peut et ne peut pas faire.
L'autre problème est que les noms qualifiés dans l'espace de noms seraient A :: std :: cout, mais la bibliothèque ne contiendrait pas de noms qualifiés avec l'espace de nom externe. –
Très bon point, merci. Ajoutée. +1 – jkeys
Vous pouvez écrire:
#include <vector> // for additional sample
#include <iostream>
namespace A
{
namespace std = std; // that's ok according to Standard C++ 7.3.2/3
};
// the following code works
int main(){
A::std::cout << "\nSample"; // works fine !!!
A::std::vector<int> ints;
sort(ints.begin(), ints.end()); // works also because of Koenig lookup
std::cout << "\nSample"; // but this one works also
return 0;
}
approche Thit est appelée espace de noms aliasing. Le but réel de cette fonctionnalité a montré dans l'exemple suivant:
namespace Company_with_very_long_name { /* ... */ }
namespace CWVLN = Company_with_very_long_name;
// another sample from real life
namespace fs = boost::filesystem;
void f()
{
fs::create_directory("foobar"); // use alias for long namespace name
}
- 1. WPF: Espace de noms personnalisé XAML
- 2. Inclure le fichier de vue dans le même espace de noms dans PHP 5.3.0
- 3. Espace de noms personnalisé pour le code derrière .aspx page
- 4. Définir un symbole dans un autre espace de noms
- 5. comment sélectionner un élément dans un espace de noms spécifique?
- 6. Comment savoir quelle référence inclure pour importer un espace de noms .NET spécifique?
- 7. Ajouter un espace de noms aux éléments
- 8. jQuery attribut sélecteurs: Comment interroger pour un attribut avec un espace de noms personnalisé
- 9. Comment "inclure" un fichier?
- 10. "Masquer" les classes linq dans un espace de noms?
- 11. Wordpress: Comment inclure un champ personnalisé dans un tableau (SmplePie)
- 12. Comment utiliser un seul espace de noms dans les fichiers?
- 13. Comment référencer un espace de noms C++ externe à partir d'un espace de noms imbriqué?
- 14. Comment inclure un fichier AGI dans un autre fichier AGI?
- 15. Regroupement dans un espace de noms et préfixation Classes
- 16. Définition d'une classe dans un espace de noms
- 17. Pouvez-vous mettre une bibliothèque dans un espace de noms?
- 18. de flux de travail ne peut pas désérialisée après espace de noms XML mappage à un espace de noms CLR
- 19. Comment ajouter un espace de noms à un fichier xml en utilisant le programme java
- 20. Pouvez-vous insérer automatiquement un espace de noms dans un extrait de studio visuel?
- 21. Inclure un contenu de fichier texte dans un script WiX
- 22. Comment inclure un fichier zip dans NSBundle?
- 23. Espace de noms IInvokeProvider?
- 24. Nom de fichier personnalisé dans un fichier journal Log4Net tournant?
- 25. Comment désérialiser xml avec un espace de noms par défaut?
- 26. F # et espace de noms
- 27. Désactiver Resharper sur un niveau de projet/espace de noms?
- 28. Comment inclure un fichier JavaScript dans un WebPart SharePoint?
- 29. Comment puis-je inclure un fichier YAML dans un autre?
- 30. Comment ajouter un autre espace de noms à WCF SyndicationFeed?
ne pas avoir un compilateur sur vous? –
Pourquoi voulez-vous faire cela? – AraK