1 votes

Qu'est-ce qu'un "Stream", en relation avec cin et cout ?

Un tutoriel parle de cin et cout : "Syntaxiquement, ces flux ne sont pas utilisés comme des fonctions : au contraire, les données sont écrites dans les flux ou lues à partir d'eux en utilisant les opérateurs <<, appelé opérateur d'insertion et >>, appelé opérateur d'extraction."

Qu'est-ce qu'un "flux" ?

3voto

Noon Silk Points 30396

Considérez un "cours d'eau" comme un tuyau physique, ou une conduite. À une extrémité, quelqu'un peut verser de l'eau. À l'autre extrémité, l'eau ressort. Il s'agit de "lire" et d'"écrire" dans le flux.

Un flux est simplement un endroit où les données vont. Il peut s'agir d'un "flux de socket" (sur Internet) ou d'un "flux de fichier" (vers un fichier), ou encore d'un "flux de mémoire", c'est-à-dire de données écrites dans un endroit situé en mémoire (RAM).

0voto

RichieHindle Points 98544

Un "flux" est un objet qui représente une source de données, ou un endroit où les données peuvent être écrites.

Les exemples incluent les poignées de fichier et les tuyaux - des choses à partir desquelles vous pouvez lire des données ou dans lesquelles vous pouvez écrire des données.

Une propriété importante des flux est qu'ils partagent une interface commune, de sorte que le même code peut écrire dans un fichier ou un tube (par exemple) sans avoir à être réécrit.

0voto

jscharf Points 2519

Vous devez considérer les flux comme des abstractions sur les "sources" ou les "puits" de données sous-jacents. Une source est quelque chose à partir duquel vous lisez des données, et un puits est quelque chose vers lequel vous écrivez des données.

Le concept de flux vous permet d'effectuer des E/S sur différentes formes de médias, de connexions réseau, de tuyaux entre applications, de fichiers, etc.

L'abstraction des flux est très précieuse pour nous, développeurs, car elle nous permet de simplifier l'entrée et la sortie, et nous donne la flexibilité d'organiser et de reconnecter les sources et les destinations de ces flux.

Une bonne analogie est celle d'un tuyau. Vous pouvez envoyer et recevoir des données par le biais de tuyaux, et vous pouvez connecter ces tuyaux à divers éléments.

En permettant aux programmes de se parler par le biais de tuyaux, nous permettons à toutes sortes de programmes de se parler entre eux, et nous augmentons considérablement l'interopérabilité et l'utilité.

C'est le cœur de la philosophie d'UNIX, et cela permet d'utiliser des idiomes de programmation très puissants.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X