Che cosa è un 'flusso', in materia di cin e cout?
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'?
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.