Domanda

Un tutorial sta parlando di cin e cout: "Sintatticamente questi flussi non sono utilizzate come funzioni:. Invece, i dati vengono scritti in flussi o letti da utilizzando gli operatori <<, chiamato l'operatore di inserimento e >>, chiamato operatore di estrazione"

Che cosa è un 'flusso'?

È stato utile?

Soluzione

Si consideri un "flusso", come un tubo fisica, o tubo. Ad un'estremità, qualcuno potrebbe versare un po 'd'acqua in. All'altra estremità, verrà fuori. Si tratta di 'lettura' e 'scrittura' al flusso.

Un flusso è solo un luogo in cui i dati va. Può essere un 'flusso presa' (su internet) o di un 'flusso di file' (in un file), o forse un 'flusso di memoria', solo i dati scritti in un posto in memoria (RAM).

Altri suggerimenti

Un "flusso" è un oggetto che rappresenta una fonte di dati, o un luogo in cui i dati possono essere scritti.

Gli esempi includono handle di file e tubi - cose che si possono leggere i dati da o scrivere i dati

.

Una proprietà importante di flussi è che essi condividono un'interfaccia comune, per cui lo stesso codice può scrivere un file o un tubo (per esempio) senza bisogno di essere riscritto.

Si dovrebbe guardare a corsi d'acqua come astrazioni sul sottostante 'fonti' o 'pozzi' di dati. Una fonte è qualcosa che hai letto i dati da, e un lavandino è qualcosa che si scrive i dati.

Il concetto di stream consente di eseguire I / O su varie forme di media, le connessioni di rete, tubi tra le applicazioni, file, ecc.

L'astrazione stream è molto utile a noi come sviluppatori quanto ci permette di semplificare ingresso e uscita, e ci dà la possibilità di organizzare e ricollegare le sorgenti e le destinazioni di questi flussi.

Una buona analogia è quella di un tubo flessibile. È possibile inviare e ricevere dati attraverso i tubi, e si può collegare questi tubi di varie cose.

Per consentire i programmi di parlare attraverso i tubi, permettiamo tutti i tipi di programmi per parlare tra loro, e aumentiamo l'interoperabilità e l'utilità di gran lunga.

Questo è il cuore della filosofia UNIX, e supporta alcune molto potenti idiomi di programmazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top