チュートリアルではcinとcoutについて話しています: "構文的にはこれらのストリームは関数として使用されません。代わりに、データはストリームに書き込まれるか、演算子< <を使用して読み込まれ、オペレーター。"cinとcoutに関連する 'ストリーム'とは何ですか?
「ストリーム」とは何ですか?
チュートリアルではcinとcoutについて話しています: "構文的にはこれらのストリームは関数として使用されません。代わりに、データはストリームに書き込まれるか、演算子< <を使用して読み込まれ、オペレーター。"cinとcoutに関連する 'ストリーム'とは何ですか?
「ストリーム」とは何ですか?
「ストリーム」を物理的なホースまたはパイプと見なします。一方の端に誰かが水を注ぐかもしれませんが、もう一方の端ではそれが出てきます。これはストリームへの「読み込み」と「書き込み」です。
ストリームは、データが移動する場所です。これは、メモリ上の場所(RAM)に書き込まれたデータだけでなく、「ソケットストリーム」(インターネット上)または「ファイルストリーム」(ファイルへ)、またはおそらくは「メモリストリーム」でもかまいません。
「ストリーム」は、データのソースまたはデータを書き込むことができる場所を表すオブジェクトです。
例には、ファイルハンドルとパイプ(データの読み書きが可能なもの)があります。
ストリームの重要な特性は、共通のインターフェイスを共有することです。したがって、同じコードは、書き換えなくてもファイルやパイプ(たとえば)に書き込むことができます。
ストリームは、データの基になる「ソース」または「シンク」の抽象として見なければなりません。ソースはデータを読み込むもので、シンクはデータを書き込むものです。
ストリームの概念は、あなたがメディアの様々な形式のI/Oを実行することを可能にするネットワーク接続などのアプリケーション、ファイル、間のパイプ
それが私たちを可能にするようストリームの抽象化は、開発者として、私達にとって非常に貴重なものです入力と出力を簡単にすることができ、これらのストリームのソースとデスティネーションを柔軟にアレンジして再接続することができます。
ホースとよく似ています。ホースを通してデータを送受信することができ、これらのホースをさまざまなものに接続することができます。
プログラムでホース通話ができるようにすることで、あらゆる種類のプログラムが互いに話すことができるようになり、相互運用性とユーティリティ性が大幅に向上します。
これはUNIX哲学の中心であり、非常に強力なプログラミングイディオムをサポートしています。
質問の文脈のように、「ホース」の一端がキーボードまたはスクリーンである「コンソールストリーム」。 –