Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5388 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  namespace std

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

namespace std

n°614461
loiklo
Posté le 17-01-2004 à 18:12:50  profilanswer
 

Bonjour à l'iut, on nous a dit de toujours mettre "using namespace std;" au debut de nos programmes mais on nous a pas dit pourquoi?! Donc si quelsu'un pourai brievement m'expliquer, ce serait sympa.
 
Merci

mood
Publicité
Posté le 17-01-2004 à 18:12:50  profilanswer
 

n°614462
*syl*
--> []
Posté le 17-01-2004 à 18:15:31  profilanswer
 
n°614463
loiklo
Posté le 17-01-2004 à 18:19:41  profilanswer
 

en gros ca permet d'avoir les meme en-tete de fonction dans un meme programme si elle apartienne pas au meme namespace?

n°614467
Taz
bisounours-codeur
Posté le 17-01-2004 à 18:27:20  profilanswer
 

c'est un référentiel lexical : les fonctions et classes de la bibliothèque standard sont définies dans std
 
alors soit tu préfixes par std:: soit tu mets la directive using qui introduit std dans le référentiel lexical courant. pour un projet de débutant, c'est ok, mais pour quelque chose de plus gros, ou tu manipules plusieurs namespace, et bien les namespace permettent de résoudre les collisions

n°614719
loiklo
Posté le 18-01-2004 à 10:22:15  profilanswer
 

oki je pense avoir compri, merci, je sais enfin pourquoi je met cette ligne a chaque debut de programme

n°614721
Taz
bisounours-codeur
Posté le 18-01-2004 à 10:24:18  profilanswer
 

note que tu peux très bien t'en passer


Message édité par Taz le 18-01-2004 à 10:24:27
n°614892
blackgodde​ss
vive le troll !
Posté le 18-01-2004 à 17:12:23  profilanswer
 

un petit exemple :
 

Code :
  1. #include <iostream>
  2. int main()
  3. {
  4.   std::cout << "Hello world !" << std::endl;
  5. }


 
equivaut à  
 

Code :
  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5.   cout << "Hello world !" << endl;
  6. }


n°614900
Taz
bisounours-codeur
Posté le 18-01-2004 à 17:29:45  profilanswer
 

et j'en remets une couche
 
en C++, std::endl n'est pas une façon plus propre d'écrire '\n'
 
endl <-> '\n' + flush

n°615069
skelter
Posté le 18-01-2004 à 21:56:30  profilanswer
 

pour ca suffit d'aller voir dans iostream

n°615202
sanctuaire
Droit dans les yeux...
Posté le 18-01-2004 à 23:51:10  profilanswer
 

par contre il est tres "porky" d'utiliser using namespace std systematiquement (surtout si c pour de vieux cin/cout).

mood
Publicité
Posté le 18-01-2004 à 23:51:10  profilanswer
 

n°615249
blackgodde​ss
vive le troll !
Posté le 19-01-2004 à 00:35:26  profilanswer
 

taz a écrit :

endl <-> '\n' + flush


 
dans le cas de cout, flush est censé vider le buffer à l'ecran je crois ?
 
pourtant c'est automatique ? ou p-e ne vide-t-il pas son buffer a chaque fois qu'il ecrit a l'ecran ? de toutes facons le buffer n'est pas lisible dans une class ostream je crois...
 
std::endl ne devrait-il donc plus etre utiliser ou reste-t-il des cas ou il est encore utile ?

n°615392
Taz
bisounours-codeur
Posté le 19-01-2004 à 11:10:29  profilanswer
 

ben ça dépend: tu peux changer le mode de bufferisation de ton flux, donc ça peut être utile.

n°729786
loiklo
Posté le 18-05-2004 à 08:17:36  profilanswer
 

j'ai deja vu la difference dans un programme qui faisait un 'segmentation fault', avec les endl, le texte s'afficher jusqu'au plantage et le \n n'afficher pas les dernier cout...
moralité, quand tu debug, pas d'\n :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  namespace std

 

Sujets relatifs
[C++]Erreur d'éxecution / namespacedoctype, namespace, encodage, version ! Comment je sais moi ! ! !
[XSL-XML] Définition du Namespace en XSL : comprends rien ![BC++] Namespace name, pb !
[java] creer un fichier Xsl, utilisation des Namespace[C++] qui utilise les namespace ?
Plus de sujets relatifs à : namespace std


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)