Qu'est-ce qu'un espace de noms ? Pourquoi écrire en utilisant l'espace de noms std ;
Il s'agit d'un mécanisme nouvellement introduit en C++, principalement pour résoudre le problème des conflits de noms entre plusieurs modules, tout comme deux personnes portant le même nom dans la vraie vie. C++ place les mêmes noms dans des espaces différents pour éviter les conflits de noms.
Par exemple, les objets fournis par la bibliothèque C++ standard sont stockés dans l'espace de noms standard std, tel que cin, cout et endl, nous verrons donc la phrase utilisant l'espace de noms std dans les programmes C++, tels que le programme :
#include<iostream>usingnamespacestd;intmain(){cout<<Nicetomeetyou!<<endl;return0;}
Si le programme utilise cout et endl, il doit être informé à l'avance pour utiliser l'espace de noms std. De plus, il existe deux autres manières d'écrire.
Le deuxième type : Utilisez le qualificatif de domaine :: pour spécifier un par un. Le code que nous venons de citer peut également être écrit comme suit :
#include<iostream>intmain(){std::cout<<Nicetomeetyou!<<std::endl;return0;}
Avez-vous vu ça ? cout et endl sont respectivement spécifiés avec std ::, indiquant qu'ils proviennent de std.
La troisième méthode : utilisez les qualificatifs using et de domaine pour spécifier les noms à utiliser, tels que le code :
#include<iostream>usingstd::cout;usingstd::endl;intmain(){cout<<Nicetomeetyou!<<endl;return0;}
Avez-vous vu ça ? Vous pouvez également utiliser using pour déclarer d'abord le nom spécifique.
Vous pouvez utiliser l'une des trois méthodes ci-dessus. Par souci d'unification et de commodité à l'avenir, nous adopterons la première méthode d'écriture dans nos didacticiels.
Il convient de mentionner qu'en fait, le premier standard C++ n'avait pas le concept d'espace de noms et que le fichier d'en-tête inclus était le même que celui du C, avec le suffixe .h. C'est juste que lors de l'utilisation d'un fichier d'en-tête sans .h à inclure dans la nouvelle norme, l'espace de noms doit être déclaré, et le fichier d'en-tête inclus vient en premier, et l'espace de noms utilisé est déclaré en dernier.