タグ

2012年2月5日のブックマーク (2件)

  • iostream の仕組み

    (このコンテンツはメールマガジンの STL & iostream 入門に手を加えたものです。「 STL と iostream が使えるかのチェック」等はメールマガジンの方のページをご覧ください) STL がそうだったように、 iostream も非常に高い「カスタマイズ性」を持っています。「ないものは作ればいい」に強く応えてくれます。ですが、そのためにはまず iostream 全体の構造を知っておく必要があります。 iostream のクラスは、だいたい3つのグループに分かれます。これは「ストリームクラス」「フォーマットクラス」「バッファクラス」です。 これまで紹介してきた std::strstream などのクラスは、すべて最初の「ストリームクラス」に属するクラスです。普段使用する場合(つまりカスタマイズする必要がない場合)にはこのストリームクラスしかお世話にならないというわけです。 こ

    troron
    troron 2012/02/05
  • 2004-07-16

    >>d金魚さん(で良いのかな?名前間違っていたら当にすいません) そのTest_VectorSpeedの実装だとvbの前1MBに0が詰まった後,後ろ1MBにdataが詰まると思います.なので,多分1回ぐらいvectorの内部バッファの再配置(とそれに伴うdelete & new)が起きるので,その分のoverheadが出ていると思います.ただ,それを除いても(resizeではなくてreserveを使っても)明示的なfor文とmemcpyでは決定的な差が残ると思います. ということで,入力がPODの配列の場合,std::vectorが一時バッファとして優秀かどうか,特にmemcpyと比較してどうか?ということを考えてみました. あらかじめ,2つ断っておきます. 第1に,以下の議論はコンテナとアルゴリズムの実装に依存する部分が大きいです.ですが,恐らく多くのC++の実装で正しいかと思います.

    2004-07-16
    troron
    troron 2012/02/05