タグ

STLとベクターに関するrin51のブックマーク (2)

  • More C++ Idioms/空にして最小化(Clear-and-minimize) - Wikibooks

    STL のコンテナはしばしば、実際の要素数よりも多いメモリを確保する。 その結果、コンテナのサイズが拡大するときのメモリ確保を抑えることによる 最適化がもたらされる。 一方、コンテナのサイズが減少した時には、しばしば余分な容量が残る。 コンテナの余分な容量は、メモリリソースの不要な消費になりうる。 空にして最小化(Clear-and-minimize)イディオムは、コンテナを空にして余分な容量を 0 あるいは最小限必要な容量に切り詰め、メモリリソースの消費を抑えるために開発された。

  • std::vectorのメモリ解放

    2009年の抱負は、ダイエットと質素倹約である。 ダイエットは早くも挫折しそうだが、質素倹約はいい感じである。 今のペースだと給与の3/4は貯蓄できそうだ。 抱負の追加として、この日記を一日一回更新にしようと思う。 以前は携帯電話のプログラムだったので、それなりにいろいろ書けたが 今はPSPをやっているので、まったく日記を書くことができない。 でも、日記は書きたいので、プログラムに関する些細なことを毎日書いていこう。 vecotrで確保したメモリは、clearメソッドを呼んでも解放されず デストラクタが来るまではずっとメモリを確保している。 そこで、以下の方法で解放することができる。 std::vector<int> hoge; // hogeのresizeとclearを繰り返す。 // 解放 std::vector<int>().swap(hoge); 一時オブジェクトを作成し、そのオブ

    std::vectorのメモリ解放
  • 1