bonjour,
j'aimerai savoir quelle sont le rôle de ces librairies :
j'ai cherché un peu partout, je n'ai pas trouvé 8OCode:
1
2
3
4
5 #include <iostream> #include <string> #include <fstream> #include <vector> #include <windows.h>
merci
Version imprimable
bonjour,
j'aimerai savoir quelle sont le rôle de ces librairies :
j'ai cherché un peu partout, je n'ai pas trouvé 8OCode:
1
2
3
4
5 #include <iostream> #include <string> #include <fstream> #include <vector> #include <windows.h>
merci
Tu n'as pas dû chercher bien loin. Pour les quatres premiers, n'importe quelle référence sur le C++ devrait t'indiquer ce que ces entêtes (et non bibliothèque, et encore moins librairies) déclarent (en voici deux: http://www.amazon.fr/exec/obidos/ASIN/0201379260, http://www.dinkumware.com/manuals/default.aspx).
Salut,
Pour les quatre premiers, il s'agit de fichier d'entête de la bibliothèque standard, qui déclarent respectivement:
- les flux d'entrée/sortie (cin, cout, cerr et clog)
- la classe de gestion de chaines de caractères (string)
- les flux de données vers/venant de fichiers
- la classe de gestion de tableau (vector).
Le dernier est un fichier d'entête propre à windows.
Nota:
- En français, on parle de bibliothèque, et en anglais de library
- Lorsqu'il s'agit d'inclusion, ce sont des fichiers d'entête, qui fournissent des déclarations se rapportant le plus souvent à une partie seulement d'une bibliothèque (ici, les quatre fichiers font référence à la bibliothèque standard)
- une bibliothèque est un ensemble de types et de fonctions prédéfinis réutilisables qui permet de se faciliter la vie en partant du principe "que les types réagissent correctement", plutôt que de commencer à "réinventer la roue" en permanence
Merci beaucoup,
Certaine de ces library (ou bibliothèques) sotn payante ? ou elles sont toutes libre ?
et dernière petite question, j'ai ça dans le tutoriel que je suis entrain de tester, je me doute qu'il y a un rapport avec la bibliothèque stdlib ou stdio, mais je ne sais pas exactement ce que cela fait :
Y'a t il un moyen d'ouvrir ces bibliotheques pour voir ce qu'il y a dedans ?Code:
1
2
3
4
5 using namespace std; using std::cout; using std::ifstream; using std::ofstream;
Merci
Certaines bibliothèques sont payantes, mais la bibliothèque standard est fournie... en standard par tous compilateurs...
Si le compilateur est payant, le prix inclus fatalement celui de l'implémentation de la bibliothèque standard ;)
Les quatre directives mises de manière successives ne servent à rien...
En effet, le simple fait d'utiliser using namespace std; rend toutes les autres inutiles.
La bibliothèque standard définit l'ensemble de ses classes et de ses fonctions dans l'espace de noms std.
Cela signifie que, normalement, il faut en arriver à écrire
Et comme cela peut facilement rendre le code assez difficile à lire (en plus de nous obliger à faire des instructions "à rallonge"), il est possible, grace à la directive using, de dire au compilateurCode:
1
2
3
4
5 std::string uneChaine; std::cout<<"ceci est un affichage"<<std::endl; std::ofstream monfichierSortie("fichier.txt"); std::vector<std::string> tableauDeChaines; ...
Ainsi, si tu venais à avoir énormément de code faisant appel à std::cout, tu pourrais te contenter deCitation:
A partir d'ici, tu utilise <telle chose> comme si elle faisait partie de mon espace de noms global
Comme tout ce qui est fournit par la bibliothèque standard se trouve dans le même espace de nom (std), la directive using namespace std; revient donc à dire au compilateurCode:
1
2
3
4
5
6
7
8
9
10 using std::cout; void fonction() { cout<<"truc"; } void f2() { cout<<"machin"; } /*...*/
ce qui inclut std::cout, std::ofstream, std::string et toutes les classes fournies par le standard (pour autant que tu aies inclu le fichier d'en-tête qui déclare la/les classes ;))Citation:
A partir d'ici, tu utilise tout ce qui se trouve dans l'espace de noms std exactement comme si cela se trouvait dans l'espace de noms en cours
Pour ce qui concerne la bibliothèque standard, la grosse majorité est directement définie dans les fichiers d'en-tête.
Tu peux donc sans aucun problème ouvrir les différents fichiers d'en-tête avec ton éditeur de texte favori, et aller décortiquer le fonctionnement de chaque classe et de chaque fonction.
Cependant, la bibliothèque standard utilise énormément une technique qui s'appelle les template et qui permet de fournir un comportement à respecter "quel que soit le type réel de données manipulées".
La syntaxe utilisée est donc parfois un peu surprenante pour quelqu'un n'ayant pas encore vu la généricité en C++ ;)
merci beaucoup pour toutes ces réponses, c'est plus clair pour moi
Bonne journée