標準の関数オブジェクト
http://www.geocities.jp/ky_webid/cpp/library/024.html
functionalヘッダというものに標準的な関数オブジェクトが定義されています。
以下にそのリストを上げてみます。
ちなみに関数オブジェクトの引数に渡される変数名をparam1とparam2だと仮定します。
関数オブジェクト名 | 処理内容 |
---|---|
plus | param1 + param2 |
minus | param1 - param2 |
multiplies | param1 * param2 |
divides | param1 / param2 |
modules | param1 % param2 |
nagate | -param1 |
equal_to | param1 == param2 |
not_equal_to | param1 != param2 |
less | param1 < param2 |
greater | param1 > param2 |
less_equal | param1 <= param2 |
greater_equal | param1 >= param2 |
logical_and | param1 && param2 |
logical_or | param1 || param2 |
logical_not | !param1 |
さてここで一つ種明かしがありました。
greaterはどこかで見たことがありますよね。
そうです。ソートの条件を降順にする際に使っていました。ここでようやく意味がわかりましたね。
// 降順でソートする data.sort( greater<int>() );
この処理はつまり、greater
デフォルトではless