2026
2025
2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
全31件 (31件中 1-31件目)
1
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.6.1 コピー・あるシーケンスから別のシーケンスを作成するための最も単純な方法です。・コピーアルゴリズムのターゲットはコンテナでなくても構わず、出力反復子で記述できる物なら何でも構いません。
2009年05月31日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.6 シーケンス変更アルゴリズム・シーケンスを変更するために明示的に反復処理しなければならない。しかし、より単純に処理を行うために特定の処理を行いながらシーケンスをたどるアルゴリズムを使いたい。
2009年05月30日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.5.5 search・以下のアルゴリズムは、あるシーケンスの部分シーケンスとなっている別のシーケンスを探す- search()- serch_n()- find_end()・search() アルゴリズムは、第一シーケンスの部分シーケンスとなっている第2シーケンスを探す。第二シーケンスが見つかったら、第一シーケンスの最初に一致した要素の反復子が返される。・find_end() アルゴリズムは、第一入力シーケンスの部分シーケンスとなっている第二シーケンスを探す。第二シーケンスが見つかったら、第一シーケンスの最後に一致した要素の反復子が返される。つまり後ろ向き search() と言うことになります。・search_n() アルゴリズムは、シーケンスに含まれている value 引数を最低 n 個探す。
2009年05月29日
コメント(1)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.5.4 equal と mismatch・equal()、mismatch() は、2つのシーケンスを比較する。・equal() は2つのシーケンスの対応する要素の対が全て等しいかどうかを判定する。・mismatch() は、等しくない最初の要素の対を探し、それらの要素の対する反復子の対を返す。
2009年05月28日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.5.3 count・シーケンスにある値が現れる回数を数える。・count の戻り値には int のサイズが小さい環境で問題が生じる事もある。
2009年05月27日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.5.2 find ファミリ.find() ファミリは、シーケンスやシーケンスの対を見渡して、叙述関数に一致する値を探索する。- find() 一致する最初の要素の反復子を返す。- find_if() 叙述関数として == を指定したら find() と同じ。- find_first_of() 第二のシーケンスと一致する第一のシーケンスの最初の要素を返す。- adjacent_find() 指定した値を持つ隣合う要素の対を探す。
2009年05月26日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.5.1 for_each・for_each() は明示的なループを取り除く。シーケンスの為に引数の演算を呼び出します。・非 const シーケンスに対して適用した場合、 for_each() シーケンスは要素を変更することがあります。例えば negate() を使った場合です。
2009年05月25日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.5 変更なしのシーケンスアルゴリズム・変更無しのシーケンスアルゴリズムは、ループを書かずにシーケンスから何かを探索するための基本的な手段。- for_each- find- count- equal- mismatch- search
2009年05月24日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.4.4.4 ネゲータ・叙述ネゲータは、引数として演算を取り、そこから関連する演算を生成します。・ネゲータの定義と実装は、メンバ関数アダプタのパターンを蹈襲している。- unary_negate 1項ネゲート- binary_nagate 2項ネゲート
2009年05月23日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.4.4.3 関数ポインタアダプタ・バインダは、あとで使うためのコピーを格納しなければならないので- 関数- 関数ポインタ- 関数オブジェクトこれらの違いを意識する必要がある。・<functional>で関数ポインタを標準アルゴリズムと併用できるようにするための2種類のアダプタを提供している。- pointer_to_unary_function()- pointer_to_binary_function()これらの関数アダプタのポインタがあれば、通常の関数をバインダと併用できる。
2009年05月22日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.4.4.2 メンバ関数アダプタ・メンバ関数 mf() を呼び出すためには、p->mf() のようにオブジェクトを経由して呼び出さないとならないのに for_each() などのアルゴリズムには、f() のような単純な呼び出しで関数被演算子を呼びだす必要がある。・<functional> の mem_fun_ref(), mem_fun() のメンバ関数アダプタがあれば解決できる。
2009年05月21日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.4.4.1 バインダ・引数のバインドによる新関数の合成は非常に一般的で、役に立つが、標準ライブラリがそのための標準クラスを用意している場合もあり、そのようなときは煩わしくなる。・bind2nd() 関数を使うことで2項叙述関数から単項叙述関数を作ることができる。
2009年05月20日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.4.4 バインダ、アダプタ、ネゲータ・標準ライブラリは、以下の機能で新しい関数オブジェクトの合成を助ける。- バインダ- メンバ関数アダプタ- 関数ポインタアダプタ- ネゲータこれらはアダプタと呼ばれる。・バインダ、アダプタ、ネゲータ<function>- bind2nd(y)- bind1st(x)- mem_fun()- mem_func_ref()- ptr_fun()- not1()- not2()
2009年05月19日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.4.3 算術関数オブジェクト・標準ライブラリは、算術関数を関数オブジェクトとして用意してある。- plus- minus- multiplies- divides- modulus- negate
2009年05月18日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.4.2.1 叙述関数概要・標準ライブラリは<funcional>の中で、いくつかのよく使われる叙述関数を提供している。- equal_to- not_equal_to- greater- less- greater_equal- less_equal- logical_and- logical_or- logical_notまたユーザー定義の叙述関数を定義することもできる。
2009年05月17日
コメント(3)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.4.2 叙述関数・叙述関数は、bool を返す関数オブジェクトです。たとえば <functional> は unary_function(), binary_function() を定義しています。
2009年05月16日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.4.1 関数オブジェクトの基底クラス・標準ライブラリは、役に立つ関数オブジェクトを多数提供していて、関数オブジェクトの作成を助けるために、2つの基底クラスを提供している。
2009年05月15日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.4 関数オブジェクト・多くのアルゴリズムは、反復子を使ったシーケンスと値だけを使って動作するが、より細かい事をするためには、ユーザー供給のコードを実行させたい時がある。・関数的なクラスを作ることでこの機能を実現できる。また関数ポインタとして渡された関数よりもクラスの関数呼び出しの方がインライン化しやすい。
2009年05月14日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.3.1 入力シーケンス・x の全ての要素を表すのに x.begin(), x.end() という表記を使うのは、一般的だが面倒で、エラーの原因にさえなる。・入力としてシーケンスを取ることを明示的にするためには、 Iseq 引数の方を使用するとよい。てっとり早い方法としては iseq() を使うことでエラーを起こしやすい繰り返しを大幅に削減できる。
2009年05月13日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.3 シーケンスとコンテナ・list から、42 という値の最初と2番目の要素を探索するときには、iterator で最初の要素を探し、終端でない場合に2番目の要素を探すようにするとよい。・標準ライブラリは、要素のシーケンスを操作する。つまり、アルゴリズムに対する入力は、シーケンスの前後を区切る反復子の対として表現される。・ランダムアクセスが可能なシーケンスは範囲:range と呼ばれることが多い。
2009年05月12日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/18.2 標準ライブラリアルゴリズムの概要・標準アルゴリズムは、本当に必要で理解できているときに限り使うべき。・個々のアルゴリズムは、1個のテンプレート関数か一連のテンプレート関数群として表現されている。・戻り値として反復子を返すアルゴリズムは、一般に、エラーを示すために入力シーケンスの末尾を使う。・標準アルゴリズムは、入力、出力ともに範囲チェックを行わない。・変更無しのシーケンス演算<algoritum>- for_each()- find()- find_if()- find_first_of()- adjacent_find()- count()- count_if()- mismatch()- equal()- search()- find_end()- search_n()・シーケンス変更演算<algorithm>- tranform()- copy()- copy_backward()- swap()- iter_swap()- swap_ranges()- replace()- replace_if()- replace_copy()- replace_copy_if()- fill()- fill_n()- generate()- generate_n()- remove()- remove_if()- remove_copy()- remove_copy_if()- unique()- unique_copy()- reverse()- reverse_copy()- rotate()- rotate_copy()- random_shuffle()・ソート済みシーケンス<algorithm>- sort()- stable_sort()- partial_sort()- partial_sort_copy()- nth_element()- lower_bound()- upper_bound()- equal_rabge()- binary_search()- merge()- inplace_merge()- partition()- stable_partition()・集合アルゴリズム<algorithm>- includes()- set_union()- set_intersection()- set_difference()- set_symmetric_difference()・ヒープ演算<algorithm>- make_heap()- push_heap()- pop_heap()- sort_heap()・最小、最大<algorithm>- min()- max()- min_element()- max_element()- lexicoGraphical_compare()・順列<algorithm>- next_permutation()- prev_permutation()
2009年05月11日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/第18章 アルゴリズムと関数オブジェクト18.1 イントロダクション・コンテナを有用な物にするために基本演算のサポートが必要。・ここではアルゴリズムの概要を説明し、用例を示す。
2009年05月10日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/17.6.3 その他のハッシュ関数付き連想コンテナ・一貫性のために hash_map に対応する、hash_set, hash_multimap, hasy_multiset が必要と思われる。・パブリックドメインでも、市販製品でもこのような実装はある。17.7 アドバイス17.8 練習問題
2009年05月09日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/17.6.2.3 ハッシング・ハッシュ関数は operator()() として定義するべき。・ハッシュ関数は引数としてキーを取り、整数を返す。優れたハッシュ関数はキーが異なれば高い確率で異なる整数を生成できる。キーの表現が持つビットの排他的 OR によって整数を生成する方法は、妥当な結果を生むことが多いです。
2009年05月08日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/17.6.2.2 消去とサイズ変更・ハッシュ法は、表がいっぱいになり過ぎると効率が落ちてしまう。そのため resize() 呼び出しによって自動的に拡張されます。・サイズ変更の発生タイミングと方法は、set_load() によって制御されます。
2009年05月07日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/17.6.2.1 照合・operator[]() は、value を見つけるために、ハッシュ関数を使って key に対応するハッシュ表内の添え字を探索します。一致する key が見つかるまで、エントリを探索します。見つからなければデフォルト値が入力されます。
2009年05月06日
コメント(0)
を読んでいます。http://www.amazon.co.jp/dp/475611895X/17.6.2 表現と構築・hash_map の実装を示している。単純な実装として、エントリを示すポインタの vector となっているハッシュ表を使っている。・各 entry は、key, value, entry へのポインタ, erased ビットを持っている。
2009年05月05日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/17.6.1 hash_map・ハッシュ関数は、2つの異なる値が同じ添字を持つことがほとんど無いような形で値を添え字に高速変換する関数。・map と hash_map の最も根本的な違いは、map が要素型を対象とする < 演算子を必要とするのに対して hash_map は == 演算子とハッシュ関数を必要とすること。・map と hash_map のトレードオフは、空間/時間のトレードオフになる。
2009年05月04日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/17.6 新しいコンテナの定義・標準コンテナと交換可能な形で使えるコンテナの定義方法を示す。
2009年05月03日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/17.5.4 組み込み配列・組み込み配列に少しだけ手を入れて標準コンテナの便利な記法を取り入れる例が取り上げられている。
2009年05月02日
コメント(0)
プログラミング言語C++ を読んでいます。http://www.amazon.co.jp/dp/475611895X/17.5.3.3 その他の演算・bitset が所有する to_ulong(), to_string() はコンストラクタと逆の操作を提供します。unsigned long で表現できない場合は overflow_error を投げます。
2009年05月01日
コメント(1)
全31件 (31件中 1-31件目)
1

![]()
