[過去ログ] C++相談室 part134 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
698
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) [sage] 2018/03/21(水) 01:10:44 ID:MouF+uE40(1/9) AAS
>>696
696(3): デフォルトの名無しさん (ワッチョイ 53bd-mA8b) [sage] 2018/03/21(水) 00:33:52 ID:7c9Ne47J0(1) AAS
ちょっなんで数億年の生物史史上はじめて
ようやっとSTDINとSTDOUTとSTDERRの3種類に世界が抽象化されたストリームという概念|を
細分化するという元の木阿弥にしますか;;

藻前は
  some_command | tee result.txt > some_file.bin
とかいったパイプやリダイレクトを表示専用とかシリアライズ専用とかに分けたいのかっていうか、
お前は何を言ってるんだ。
ここで言ってるストリームは C++ 用語のストリームだぞ。
「ストリーム『型』」ってわざわざ書いてるんだからわかれよ。
下位レイヤでは好きなところに繋げればいい。
700: はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) [sage] 2018/03/21(水) 01:24:40 ID:MouF+uE40(2/9) AAS
要するに std::basic_ostream を継承した何かを作ればいいんだ。
705
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) [sage] 2018/03/21(水) 15:09:48 ID:MouF+uE40(3/9) AAS
>>696
さっき >>698 で説明した C++ の話題を置くとしても、
(まあ C++ スレで C++ の話題を置いちゃうのはどうかと思うが)
標準入力、標準出力、標準エラー出力のみっつしかないってことはない。

エラー出力をリダイレクトするときに 2> って書くの、どういう意味だと思ってる?
2 はファイルディスクリプタな。
デフォでオープンされてるのが 0, 1, 2 ってだけで、やりたければ 3 でも 4 でも使っていい。
710: はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) [sage] 2018/03/21(水) 20:00:34 ID:MouF+uE40(4/9) AAS
>>709
709(1): デフォルトの名無しさん (ワッチョイ a723-tAvx) [sage] 2018/03/21(水) 19:28:41 ID:TV3lE0eZ0(1) AAS
シリアライズするときはバイナリ表現にしたいし
ログするときは文字列表記にしたいし
だからそれはストリームオブジェクトの型で切り替えろって言ってるんだろうが
712: はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) [sage] 2018/03/21(水) 20:33:11 ID:MouF+uE40(5/9) AAS
read なり write なりを「使う」のは別にいいよ。
それを C++ 上でどのように抽象化すればいいかって話なんだから。
そういうレイヤの違う話を混ぜ込んでくるなよ。
717
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) [sage] 2018/03/21(水) 22:15:54 ID:MouF+uE40(6/9) AAS
>>715
715(1): デフォルトの名無しさん (ワッチョイ af7e-hKdO) [sage] 2018/03/21(水) 21:36:05 ID:9NBOfW2C0(3/3) AAS
例外を除いて
operator<<()は書式化出力
write()は非書式化出力
なのでバイナリを出力するときはwrite()を使うべき

>size_t serialize(const T& t, ostream& os)
シリアライズのような複雑な操作をするときはこれは悪い選択じゃない
というかstreamそのものを放り込むのはたまに見かける
書式化 (formatted) ってのと、結果がバイナリかというのは直行する概念だよ。
シリアライズってのはオブジェクトのバイト列をそのまま出力することじゃなくて、
バイナリ形式の特定のフォーマットにして出力することだろ。
それは書式化って言うんだよ。
718: はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) [sage] 2018/03/21(水) 22:26:24 ID:MouF+uE40(7/9) AAS
>>714
714(1): デフォルトの名無しさん (スップ Sd03-tAvx) [sage] 2018/03/21(水) 20:47:43 ID:KgSvodNyd(2/2) AAS
バイナリでシリアライズするに際して
別の型のストリームオブジェクトを作ってまで
<< だの dec だの endl を使えるようにすることの利点を説明して欲しい
マニピュレータを使える意味はないかもな。
使えないように定義することも出来るし、意味がないなら使えないようにしておくべき。

ここでは抽象化の話をしているんだ。
出力先が人向けのテキスト表現であるか機械向けのシリアライズ表現であるかによって
書き方を変えなきゃならない、相手を意識しなきゃならないというよりは、
相手によって自動で切り替わって欲しいってことなんだよ。

意識しなくていいデザインってのは意識しにくくなるってことと表裏一体だから、
見えなくなるのが気にくわないってのならわかる。
720: はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) [sage] 2018/03/21(水) 22:29:29 ID:MouF+uE40(8/9) AAS
>>719
719(1): デフォルトの名無しさん (ワッチョイ 23f9-y9O9) [sage] 2018/03/21(水) 22:26:32 ID:OwhHF7Zm0(1) AAS
直交
スマソ。 >>717 の直行は直交の書き間違いやね。
722: はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) [sage] 2018/03/21(水) 23:50:04 ID:MouF+uE40(9/9) AAS
>>721
721(1): デフォルトの名無しさん (ワッチョイ 2b50-bRBW) [sage] 2018/03/21(水) 23:13:33 ID:NRxI71LE0(1) AAS
無意味な処理が嫌だとか言っておきながら
ここでは無駄の塊みたいな方法を勧める
アホですね
俺は一貫して抽象化の話をしてるつもりなんだが。
プログラマの意図を表現できる書き方をすべきって話をしてんの。
無意味な処理をしろと書いてあるのをプログラマの意図として読み取っていいのか?
そうじゃないだろう。

C++ がせっかく用意しているライブラリを活用するのが無駄なのか?
そうじゃないだろう。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.627s*