Les classes de flots sont au nombre de dix-huit, réparties dans trois fichiers distincts : <iostream.h>
, <fstream.h>
et <strstrea.h>
. Un quatrième fichier <iomanip.h>
peut être utilisé dans certains cas (voir fin du chapitre).
Le schéma ci-après montre la répartition des classes ; les flèches grises indiquent une dérivation. On peut distinguer les catégories suivantes :
La répartition peut sembler complexe, mais elle est en fait assez simple à comprendre. Un flot dentrées-sorties est une liste de caractères quon ne charge pas entièrement en mémoire. Donc en premier lieu un flot doit avoir un tampon, cest-à-dire un petit bloc de mémoire où ranger les caractères en attente. Ce tampon est géré par un élément de la classe streambuf
ou de ses dérivées, qui fournit des opérations comme « placer n caractères dans le tampon » , « retirer n caractères » , etc. Ces opérations sont de bas niveau, elles ne nous regardent pas.
Chaque flot va donc contenir un pointeur sur un tampon (ou plusieurs éventuellement), plus un certain nombre de renseignements auxiliaires indiquant notamment létat dans lequel il se trouve. Cest en fait le type de tampon qui détermine en grande partie le type de flot ; par contre, le type de flot indique les opérations autorisées. En particulier, il nest évidemment pas permis décrire sur un flot dentrée ou de lire dans un flot de sortie.
Précédent | Sommaire | Suivant |