2017-06-16 13 views
-1

自分のstreambufをしばらくしてから、basic_streambufのような異なるタイプをdoubleのように使うことができるかどうか私に尋ねます。ここに経験とユースケースがありますか?カスタムbasic_streambufを書く

+0

'streambuf'クラスで解決しようとしている実際の問題は何ですか? *なぜあなたはそのデータを 'double 'に格納する必要がありますか? [XY問題](http://xyproblem.info/)を読んで、この質問との関係を考えてください。 –

答えて

3

streambufのポイントがありません。 バックエンドstd::streamです。 フロントエンドは、operator<<operator>>で提供されています。それらはdoubleのためにオーバーロードされます。フロントエンドはどのタイプでも文字に変換し、バックエンドはI/Oを行います(ファイル、スクリーン、ネットワークなど)

+0

バックエンドでは文字を使用しないでください。文字を格納する必要がない場合はどうなりますか? – Gustavo

+0

@Gustavo:このようなバックエンドに 'std :: string'を書くには? 'std :: streambuf'は' 'ライブラリ全体の一部です。あなたのユースケースが ''の典型的な使用法とあまり違っている場合は、 ''を適用することに限られます。 – MSalters

+0

iostream環境では文字だけが許可され、char以外の型を使用することは決してできませんでしたか? – Gustavo

関連する問題