タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

STLに関するtettsyunのブックマーク (4)

  • C++マニアック,STL,for_each の使い方

    このページでは STL のアルゴリズムである for_each の使い方について解説します。 for_each は単純な繰り返し クラスオブジェクトで for_each を使用する(その 1) 省略形の使用 メンバ関数に引数がある場合 for_each は単純な繰り返し ページの先頭へ for_each は、vector や set などのコンテナの要素に対する単純な繰り返しを行うためのテンプレート関数です。 注:コンテナではない普通の配列にも使えます。 for_each のプロトタイプ宣言は次のようになっています。 template <class T_InputIterator, class T_Function> T_Function for_each( T_InputIterator itBegin, T_InputIterator itEnd, T_Function functio

    tettsyun
    tettsyun 2010/05/17
    for_each の省略形は便利
  • STL勉強中 - for_eachですべての要素に対してdelete - higepon blog

    さてSTL勉強中なわけですが、コンテナのすべての要素に対して delete したいと思ってやってみましたがなかなかうまくいかず調べてみました。 http://www.devmaster.net/forums/showthread.php?t=418によると、 どこかのヘッダでこんなのを用意していて struct delete_object { template void operator()(T *ptr){ delete ptr;} }; これで幸せらしい。 std::for_each(buffers->begin(), buffers->end(), delete_object());

    STL勉強中 - for_eachですべての要素に対してdelete - higepon blog
    tettsyun
    tettsyun 2010/05/17
    for_each
  • std::next_permutationとstd::prev_permutationの練習

    std::next_permutationとstd::prev_permutationの練習 next_permutationとprev_permutationは順列を生成します。 #include <algorithm> string s = "ABC"; while (next_permutation(s.begin(), s.end())) { puts(s.c_str()); } 結果 ABC ACB BAC BCA CAB CBA

    std::next_permutationとstd::prev_permutationの練習
  • C++: 構造体を格納したSTLコンテナに対してソート・探索・削除などのアルゴリズムを適用する

    C++に慣れている人にとっては当たり前のことかもしれないけど、あまりC++に親しんでいない場合、構造体を格納したSTLコンテナに対してアルゴリズム<algorithm>を有効に活用していないかもしれない。そこで、構造体を格納したvectorなどのSTLコンテナでソートや探索、削除などのアルゴリズムの利用方法を書いておく。 struct A { int n; int* p; }; 上記のような構造体はよく見かける形だと思う。構造体Aに整数型変数のnとポインタ型変数のpがあり、例えばnに配列の要素数、pにその配列を確保したりする。こういった構造体を以下のようにvectorなどのSTLコンテナを使って格納することは多々ある。 vector<A> A_list; これで構造体Aをコンテナに格納できるわけだ。ところで、STLコンテナを使用する一つの理由として便利なアルゴリズムが利用できることが挙げら

    tettsyun
    tettsyun 2010/01/07
    algorithmの使い方
  • 1