C++のiostream感想-その2-
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
[[C++のiostream]]
* C++のiostream感想-その2- [#q115bf28]
そもそも iostream とか streambuf という名前に惑わされたよ...
** iostream という名前 [#n26130e2]
最初が io なので、I/O と関係が深いと思ってしまう。
ところが、実は I/O はあまり関係無い(と思う)。むしろ
強調すべきは stream の方だ。あるいは buffer と
言ってもよいかも知れない。
buffer への data の出し入れを行う
仕掛けが iostream だと思う。I/O の方は読み込み buffer が
空になったり、書き込み buffer が一杯になった時に、
streambuf に「何とかしろ」と言うだけ。実際に streambuf が
I/O をやったかどうかなど知ったことではない。
大事なのは
順番が維持されている(stream)ということだ。相手が
seekable であれば位置の変更も有り得るが、それでも
順番は維持される。1番目に書かれたものが5番目に送られ
5番目に書かれたものが1番目に送られるなどということはない。
** streambuf という名前 [#lfad007f]
こちらが buffer かと思いきや(確かに buffer はこの class ...
するのではあるが)、実はこちらが I/O 担当。
この class の役割は、iostream からの
「読み出し buffer が空になったから入力しろ」、
「書き込み buffer が一杯になったから書き出して space を作...
という指示に従うだけ。
** [18-Nov-2010]と上に書いたのだが、どちらもバッファ。 [#...
- iostream はバッファ本体ではなく、バッファの入出力を制御...
- streambuf はバッファの本体。概念的には入出力装置と結び...
実際 fstream の本体である filebuf は、同じオブジェクトで...
終了行:
[[C++のiostream]]
* C++のiostream感想-その2- [#q115bf28]
そもそも iostream とか streambuf という名前に惑わされたよ...
** iostream という名前 [#n26130e2]
最初が io なので、I/O と関係が深いと思ってしまう。
ところが、実は I/O はあまり関係無い(と思う)。むしろ
強調すべきは stream の方だ。あるいは buffer と
言ってもよいかも知れない。
buffer への data の出し入れを行う
仕掛けが iostream だと思う。I/O の方は読み込み buffer が
空になったり、書き込み buffer が一杯になった時に、
streambuf に「何とかしろ」と言うだけ。実際に streambuf が
I/O をやったかどうかなど知ったことではない。
大事なのは
順番が維持されている(stream)ということだ。相手が
seekable であれば位置の変更も有り得るが、それでも
順番は維持される。1番目に書かれたものが5番目に送られ
5番目に書かれたものが1番目に送られるなどということはない。
** streambuf という名前 [#lfad007f]
こちらが buffer かと思いきや(確かに buffer はこの class ...
するのではあるが)、実はこちらが I/O 担当。
この class の役割は、iostream からの
「読み出し buffer が空になったから入力しろ」、
「書き込み buffer が一杯になったから書き出して space を作...
という指示に従うだけ。
** [18-Nov-2010]と上に書いたのだが、どちらもバッファ。 [#...
- iostream はバッファ本体ではなく、バッファの入出力を制御...
- streambuf はバッファの本体。概念的には入出力装置と結び...
実際 fstream の本体である filebuf は、同じオブジェクトで...
ページ名: