0648デフォルトの名無しさん (ワッチョイ 9ac5-FXPZ)
2017/09/07(木) 06:02:40.83ID:sowmLjiv0operator<<()の多重定義で自作クラスのフォーマット文字列化(stringizing)ができる、というのがちょっと嬉しかったけど
しょせんコードの見かけだけの話やし、実行速度は速いし改造もしにくい、
(printf()ならvprintf()を使って関数1個書けば良いところをstd::streambufの派生クラスを作る羽目に、、
行単位の排他とかの作り方を比べたらワカル
だいたい一般に1つのクラスに対して一般に
(1) 人間が読むためのフォーマット文字列化
(2) ストレージか何かへのシリアライズ
(3) ストレージか何かからのデシリアライズ
の3つの要求が生じるのに対してoperator<<()とoperator>>()の多重定義の2個では数が足りない
だったら上記3メソッドのインターフェースを全部Cのstdioベースで実装して済ませるわ;
とにかくC++の中にあってstreamはパフォーマンスよりもコードの見かけに拘ってみました感が異端