(閉じる)

タグ :

コンピュータ・IT 58 users このエントリーをはてなブックマークに追加

C++ の string と vector の reserve() の挙動 - bkブログ

C++stringvector の reserve() の挙動 C++stringvector には前もって容量を確保するための reserve() というメンバ関数があります。何気なく使っていた関数ですが最近になって興味深い挙動に気づきました。 reserve() の基本 stringvector の reserve() は前もって容量 (capacity) を確保しておくためのメンバ関数です。前もって容量を確保しておけば、データの追加時に発生する再割り当て (reallo... > このページを見る

最終更新時間: 2009年02月12日00時22分
▼ブログで紹介する

このエントリーに含まれている商品

Effective STL―STLを効果的に使いこなす50の鉄則

みんなのブックマーク 人気(0) 新着

  • reserve() 2011/03/22

    1 RT

  • string#reserveとvector#reserveの違い. 2009/02/15
  • 『# reserve() を間違って使うと非常に非効率 # string の reserve() は現在より容量を減らせる # vector の reserve() は現在より容量を減らせない # string の reserve() は「指数的成長ポリシー」を発動する # vector の reserve() は「指数的成長 2009/02/14
  • 結論からいうと、 vector の reserve() は容量を減らすことはありません。 2009/02/12
  • vectorとstringで実装が違うとは思わなかった。vectorだと減らないことは経験的に知っていたが。VC9だとまた全然挙動が違う。 2009/02/12
  • →「せっかく前もって適切に reserve() していても、処理の途中で余計な reserve() が入ってしまったら台無し」 2009/02/12
  • 文字列を連結するときはstringstream使ってたから、std::string::reserveのヘンテコ挙動には気がつかなかった 2009/02/12

このブックマーク一覧を非公開にするには?

はてなブックマークはオンラインでブックマークを管理・共有できる無料サービス。自宅、職場、外出先、どこからでも同じブックマークにアクセスできます。ユーザーはみんなでブックマークを共有して効率良く情報収集しています。あなたもはてなブックマークを始めてみませんか?

このエントリーを含む日記(1)