2026
2025
2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
全24件 (24件中 1-24件目)
1
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/19.2.6 ストリーム反復子・標準ライブラリは、コンテナとアルゴリズムの一般的な枠組みにストリーム入出力を取り込むために4種類の反復子を提供しています。- ostream_iterator- istream_iterator- ostreambuf_iterator- istreambuf_iterator・char_traits は入出力や string で重要な意味を持つことになる文字の特性を記述する。
2009年06月25日
コメント(6)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/19.2.5 逆反復子・標準コンテナは、要素を逆順に反復処理するために rbegin(), rend() を提供しています。これらは reverse_iterator() を返します。・reverse_iterator は current という反復子を使って実装されています。アクセス違反を避けるため * は *(current-1) を返し、 ++ は current に対する -- を使って実装されています。
2009年06月24日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/19.2.4 挿入子・反復子を介して出力する際は、オーバーフロー対策が必要になります。そのため以下の反復子テンプレートクラスとそれらの反復子を使いやすくするための3種類の関数を提供しています。・back_inserter(), front_inserter(), inserter()
2009年06月23日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/19.2.3 反復子のカテゴリ・反復子の種類は(通常反復子カテゴリ)は、階層構造にまとめられる。標準ライブラリは5種類の反復子カテゴリを表現する5つのクラスを提供している。・distance() の実装で反復子カテゴリタグ引数を渡して内部で処理を分けるのに使用する。
2009年06月22日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/19.2.2 反復子の特性・反復子関連型は iterator_traits というテンプレートクラスに含まれる小さな集合によって記述されている。・iterator_category は反復子がサポートする演算の種類を示す型。difference_type は2つの反復子の距離を表現する型。
2009年06月21日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/19.2.1 反復子の演算・反復子は効率よく提供できる演算の種類に従って5つに分類される。・出力(Out)、入力(In)、前方(For)、双方向(Bi)、ランダムアクセス(Ran)・出力反復子を除けば2つの反復子の間の距離は要素を反復参照していけばわかるので distance() という関数が用意されている。この関数はコスト高になることがある。
2009年06月20日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/19.2 反復子とシーケンス・反復子はシーケンスの要素を指すポインタという概念を抽象化したもの。・シーケンスは「次の要素演算によって先頭から末尾に到達できるもの」という概念を抽象化したもの。・反復子が要素を指しているかどうかは、シーケンスの「末尾」と比較することによって簡単にテストできる。この概念のため末尾のために特別な処理を用意する必要はなく、任意のタイプのシーケンスにうまく一般化できる。
2009年06月19日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/19章 反復子とアロケータ19.1 イントロダクション・反復子はコンテナとアルゴリズムを結びつける。・反復子はデータに対する抽象化された視界を提供する。・コンテナは広範囲のアクセスを確保するための演算群を用意する必要はない。
2009年06月18日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.11 Cスタイルアルゴリズム・互換性のために配列のみを対象とする、qsort(), bsearch() を持っている。・sort(), search() の方が汎用性が高く効率も上。18.12 アドバイス18.13 練習問題
2009年06月17日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.10 順列・next_permutation() と prev_permutation() はシーケンスから順列を作ります。・next_permutation() の戻り値は、次の順列が本当にそうンざいするかどうかを示す。・シーケンスは要素が辞書的な順序に並べられた順列になっている。
2009年06月16日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.9 min と max・比較基準に基づいて値を選択する機能を min(), max() で提供する。・辞書的な順序づけも、文字列から比較基準を持つ任意の型の値のシーケンスに簡単に一般化できる。
2009年06月15日
コメント(6)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.8 ヒープ・先頭の要素が最も大きな値を持つようにシーケンスを構成するための機能を push_heap(), pop_heap() で実現する。・シーケンスをヒープに変換する機能を make_heap() で実現する。・ヒープをシーケンスに変換する機能を sort_heap() で実現する。
2009年06月14日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.7.5 シーケンスに対する集合演算・集合演算はソートされていない場合は恐ろしく効率が悪くなってしまうので標準ライブラリはソート済シーケンスだけを対象として集合演算を提供しています。・set, multiset はソートされた集合を扱う。・includes() アルゴリズムは第二のシーケンスのすべてのメンバが第一のシーケンスのメンバになっているかどうかをテストする。・set_union(), set_intersection() はソート済シーケンスという形で出力する。・set_difference() は第一の要素だが第二の要素に入っていないものを返す。
2009年06月13日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.7.4 partition・シーケンスの分割を partition(), stable_partition() で実現できる。・partition() は相対的な順番を変えてしまうがメモリが少ないときには若干高速になる。
2009年06月12日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.7.3 merge・2つのソート済シーケンスを merge(), inplace_merge() を使って結合された新しいソート済シーケンスを作ることができる。・入力シーケンスから要素を削除しないという点で list の merge とは異なる。・等しいと判定された要素がある場合、第一の範囲に含まれる要素はかならず第二の範囲に含まれる要素より前に配置される。
2009年06月11日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.7.2 二分探索・find() などの線形探索はソートやハッシュを使わなければ線形探索以上のことはできない。・ソートされている場合は二分探索 binary_search() を使うことができる。・find() 同様に要素がシーケンスのどこにあるのか知るための equal_range()m lower_bound(), upper_bound() アルゴリズムが用意されている。
2009年06月10日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.7 シーケンスのソート・ソートするために要素比較手段が必要となりデフォルトでは less になっておりこれは < を使うようになっている。
2009年06月08日
コメント(3)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.6.8 swap・コンテナ内の要素を交換する場合に swap() が利用できる。・iter_swap() は反復子引数が指す要素を交換する。・swap_ranges() は2つの入力範囲のなかの要素を交換する。
2009年06月07日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.6.7 reverse と rotate・シーケンスの要素の順番を再構成する際に利用できる。・"Frog", "and", "Peach" のシーケンスを reverse() すると "Peach", "and", "Frog" になるし rotate() すると "and", "Frog", "Peach" になる。・random_shuffle() アルゴリズムは均質に分散した乱数を生成してシーケンスをシャッフルする。
2009年06月06日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.6.6 fill と generate・シーケンスに系統的に値を代入するために使用する。 _n バージョンは最初の n 個の要素に対して代入を行う。・fill() は指定された値を代入する。generate() は関数引数を繰り返し呼び出して得られた値を代入する。・生の記憶領域を操作しなければならないときは uninitialized_fill() のようなアルゴリズムを使わなければならない。
2009年06月05日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.6.5 remove・remove() は、一致しない要素をシーケンスの冒頭に集め、その部分の末尾を指す反復子を返す。・叙述関数を指定するか、値を指定することでシーケンスから要素を削除します。
2009年06月04日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/・replace() はシーケンスをたどり、要素を指定された値に書き換えていく。・find / find_if、unique / unique_copy 同様に全部で4種のパターンがある。
2009年06月03日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.6.3 unique・unique() と unique_copy() は、隣合う重複値を取り除く。・unique() はシーケンスから隣り合う重複要素を取り除くのに対して、 unique_copy() は重複のないコピーを作る。・unique() はユニークな要素をシーケンスの前の方に集め、ユニークな要素から構成される部分シーケンスの末尾を指す反復子を返す。
2009年06月02日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.6.2 transform・transform() はユーザーが提供した演算に基づいて入力を変形した物を出力する。・copy() は要素をそのまま返す演算を引数とした transform() として定義する事も可能。・また transform() は、明示的に出力を生成する for_each() の変種と見ることもできる。・値を返してくれない場合や入力シーケンスが const の場合は transform() の変わりに2シーケンスの for_each() を定義するとよい。
2009年06月01日
コメント(0)
全24件 (24件中 1-24件目)
1


