掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
std::stringstreamのwrite(buf, 1000000)が遅いです (ID:67392)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
επιστημηさま ご教授ありがとうございます write(buf, 1000000); とすると一気に1MB増やしての再割り当てをするのではなく、 内部的に少しずつ増やして何度何度も再割り当てしてるということでよろしいでしょうか? であれば、この遅さ、納得です。 (実装系に依存もするし定かではないということですね) ただ今回は困ったことに、 最後までデータのサイズがいくつになるかわからない状況なので、 上で教えていただいた stringに予めバッファを確保しておく方法だと、 1.増分による更なる再割り当て時と 2.確保したバッファよりデータが小さかった時に 今まで何バイト書き込んだかを覚えておかないとダメということですよね。 (tellp()があればいいのですが。) 困りました。 char*を内包するRead,Writeするだけのクラスを 作った方が手っ取り早いでしょうか。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.