Page 1 of 1

Cours C++ : 2.Commentaire et Espace de Nom Standard

PostPosted: Thu Feb 28, 2008 11:31 pm
by Manu404
[size=16:e8a2642554]COURS[/size:e8a2642554]
[size=14:e8a2642554]
[u:e8a2642554][b:e8a2642554]Les Commentaire :[/b:e8a2642554][/u:e8a2642554][/size:e8a2642554]

#include <iostream>
int main()
{
std::cout<< "Salut\n" ;
// Voici un premier commentaire
/* En voici un second */
return 0;
}

Il y a donc le // et le /*-*/
Tout d'abord le // : Il ne peut occuper que une seul ligne de texte
Ensuite le /* - */ : Il peut occuper autant que ligne que on le souhaite mais ce type de commentaire doit être encadré au début par /* et a la fin par */ ce qui donne :
/*Ceci est un commentaire*/


[size=14:e8a2642554]
[u:e8a2642554][b:e8a2642554]Espace de Nom Standard : [/b:e8a2642554][/u:e8a2642554][/size:e8a2642554]
Utilisé std:: devant cout ou endl alourdi considérablement la lecture et la compréhension du code, heureusement vous avez deux solution pour remédier a cela en déclarant au début du programme que cout et endl sont liées a une bibliothèque standard (cfr : Cours n°1)

[b:e8a2642554]Using[/b:e8a2642554]

#include <iostream>
int main()
{
using std::cout;
cout<< "Salut\n" ;
cout<< "plus besoin de rettaper le code \n" ;
return 0;
}

Using est utilisé de la manière suivante : using + std::(on déclare ce qui devra affecter l'objet) + cout (on déclare quel objet sera affecter + ; (afin de fermer la commande)
[b:e8a2642554]
Namespace[/b:e8a2642554]

#include <iostream>
int main()
{
using namespace std;
cout<< "Salut\n" ;
cout<< "plus besoin de rettaper le code \n" ;
return 0;
}
Namespace a l'avantage de ne pas devoir citer tous les objets qui seront affecter (dans le cas ou on doit le faire pour 50 objets c'est un gain de temps considérable)
Mais a également le désavantage de cibler tous les objets, et donc d'utiliser par inadvertance des objets d'un bibliothéque inadequate.

[size=16:e8a2642554]EXERCISE[/size:e8a2642554]
1. Ou sont les erreurs (envoyé les réponses par mp afin de laisser tout le monde cherché)
#include <iostream>
int main()
{
using std:cout;

cout>> "Salut\n" ;
cout>> "plus besoin de rettaper le code \n" ;
/*mais j'ai fait des erreurs/*
cout>> "Et sa ne marche pas \n" ;

return 0;
}

PostPosted: Fri Feb 29, 2008 9:49 am
by Skorm
Pas mal :)

Mais si tu veut mon avis perso je dirais que tu ne devrais pas poster des cours a l'arrache et plutot faire un bon gros cours en pdf ou meme txt, l'uploader ou le mettre en telechargement et nous le filer :D

M'enfin c'est toi qui voit

Ps : Quand meme pratique le mini cours :)

PostPosted: Fri Feb 29, 2008 11:56 am
by Manu404
Mais en fait ce que je veux faire c'est toute un serie de justement mini cours qui permettent de trouver rapidement ce que l'on cherche.
Par exemple si je dois mettre dans le titre
Cours C++ -> 3.Vraiables, Fonctions, Constantes
Déja sa va faire un page qui vas décourager beaucoup de gens de la lire mais surtout, avant de trouver ce que l'on cherche on sera décourager.
J'au justement voulu évité le coté annuaire téléphonique de code et infos dans tout les sens.
Pour info aujourdhui a 18H il y aura si tout ce passe bien 3 nouveaux cours sur
1.les variables
2. La RAm, indispenssable pour comprendre une variable
3. Le Systéme Hexadecimal et Binaire car aussi indispenssable et souvent les gens ne connaissent pas ce systéme aussi bien qu'ils ne le croient


-EDIT :Pas eu le temp de faire les variables car j'ai du faire le premier java, le 5éme cours viendra dimanche ou lundi -

PostPosted: Fri Feb 29, 2008 1:23 pm
by Skorm
Vu comme sa c'est une assez bonne idée enfaîte...

PostPosted: Sun Oct 31, 2010 6:30 pm
by EMY
Merci pour ces tutos, qui m'aide à avoir deux points de vue aux niveaux de mon apprentissage. :)

J'avais une petite question, dans mon livre ils mettent : [code:1:4af9004172]using namespace std;[/code:1:4af9004172] entre l'include et le main. Pourquoi ne fais-tu pas ainsi?

J'ai une hypothèse, je la dis ainsi si j'ai loupé quelque chose tu pourras me rectifier :)
Ce serrait parce que l'accolade englobant les fonctions délimite un "espace de travail", et que l'on pourrait donc utiliser plusieurs "espaces de travail".

Ainsi :

[code:1:4af9004172]#include <iostream>

using namespace std; // je le mets ici, l'ayant appris ainsi, sauf si c'est une erreur

int main ()

{
functionX;
}

{
functionY;
}
}
[/code:1:4af9004172]

Emy.

Edit : Ouille ouille déterrage de topic :s J'avais pas fait attention aux dates, sorry.

PostPosted: Mon Nov 01, 2010 2:02 pm
by TorTukiTu
Merci beaucoup pour ce tuto manu.
Je me permets d'ajouter un tout petit détail,
// sont des commentaires c++
/**/ sont des commentaires C
Selon les standars (jamais respectés) on ne dois pas uiliser // dans une source en C.

Je me perment cette précision, parcequ'on m'avait horriblement fait c**** a la fac avec ces conneries.

PostPosted: Mon Nov 01, 2010 3:06 pm
by EMY
[quote:1cdb6613dd="TorTukiTu"]/**/ sont des commentaires C[/quote:1cdb6613dd]
Mais /**/ peut-être utilisé dans le C++, ce n'est pas une erreur, même pour les puristes?

Emy.

PostPosted: Mon Nov 01, 2010 6:25 pm
by TorTukiTu
Non. La seule "erreur" tolérée est de mettre des // dans du C.

La tortue.

PostPosted: Mon Nov 01, 2010 7:19 pm
by LECHIENKITU
[quote:c9888dae97="TorTukiTu"]Merci beaucoup pour ce tuto manu.
Je me permets d'ajouter un tout petit détail,
// sont des commentaires c++
/**/ sont des commentaires C
Selon les standars (jamais respectés) on ne dois pas uiliser // dans une source en C.

Je me perment cette précision, parcequ'on m'avait horriblement fait c**** a la fac avec ces conneries.[/quote:c9888dae97]
Merci pour cette petite précision Tortue. Je ne savais pas du tout ça et dans le tuto du SdZ (comme quoi plus j'avance en programmation plus je me rends compte que ce site est assez bizzare..) il dit bien " //Commentaire sur une ligne " "/* Commentaire sur plusieurs lignes */ "
Pinaise, je suis " choqué " ^^

Encore une fois, merci.

</lechienkitu>

PostPosted: Mon Nov 01, 2010 7:56 pm
by TOSH
Il me semble que les commentaires // font parti de la norme c99.

PostPosted: Mon Nov 01, 2010 11:27 pm
by TorTukiTu
AHHHH effectivement, dans les nouvelles versions, c'est devenu standard, je viens de verifier.
Donc, pour ceux qui ont lu mes posts au dessus, oubliez, ce n'est plus d'actualité.

Pour ceux qui désirent un pdf complet de la norme, c'est ici:

[url]hxxp://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf[/url]

La tortue.

PostPosted: Tue Nov 02, 2010 3:33 am
by Manu404
Vous pouvez aussi poser vos questions sur devbbs. ^^

[url]http://dev.hackbbs.org/viewtopic.php?f=17&t=5[/url]