Lorsque nous utilisons l’espace de noms std, pourquoi écrivons-nous au lieu de ? Que se passe-t-il si je mets ?


Je pense que je ne devrais pas supposer quoi que ce soit et mettre toute l'histoire devant vous. Cela rendrait plus justice à la question.

#include → Cette ligne de code est une directive de préprocesseur. Elle indique au programme d'inclure un paquet appelé iostream. Certains blocs de code supplémentaires sont d'abord ajoutés à votre code source, puis le programme se compile. Ce code supplémentaire est présent dans le fichier iostream qui est déjà présent dans le compilateur. Cela ne fait aucune différence pour votre code source et forme plutôt un programme composite.


Ceci soulève la question de savoir pourquoi vous devez ajouter le contenu de iostream à votre code source. Les réponses sont les différentes fonctions que vous utilisez en tapant dans votre code. Des fonctions comme cout et cin. Ce code supplémentaire facilite l'utilisation de ces fonctions puisqu'il contient leur code de définition. Maintenant, vous savez assez bien ce que fait la directive du préprocesseur. Pensez-y comme si leur était fourni ce code supplémentaire pour vous épargner la peine d'écrire du code lié à l'interaction avec le matériel et après complication ce code remplace le "include " dans votre code source avant la compilation.


Basiquement la différence entre iostream et iostream.h réside dans les normes définies pour le C++. " .h " était utilisé dans l'ère de pré-développement du C++. Alors que les nouvelles normes ne comportent pas de ".h". Cela signifie donc qu'il ne s'agit plus d'un fichier d'en-tête puisqu'il n'y a pas de ".h". Cela a été fait pour faciliter plus d'un type de paquets dans le fichier d'en-tête. Il y a des chances qu'il y ait deux ou plusieurs paquets installés sur votre système contenant le code de iostream. "std" dans "using namespace std" est l'un d'entre eux. Ce qui se passe maintenant est que pour compléter l'ajout de ce morceau de code supplémentaire de iostream, vous devez ajouter cette ligne de code supplémentaire qui détermine quel paquet doit être utilisé. C'est ce que fait la directive "using", c'est-à-dire "using namespace std". "namespace" est le nom donné aux petits paquets que différents fournisseurs peuvent produire pour leurs programmes. Il existe de nombreux paquets comme "std". Et lorsque vous n'utilisez pas plusieurs paquets, alors vous pouvez simplement mettre la directive using au début pour spécifier quel paquet/espace de noms vous allez utiliser dans tout le programme pour éviter de taper std: : avant chaque ligne de code.

Lorsque vous utilisez plus d'un paquetage, vous devez taper du code comme ceci →

std::cout("Ceci est le paquetage std.");

asd::pick("pick() est une fonction du paquetage asd.");

J'espère que cela vous a aidé. 🙂