それぞれを別の関数に渡すことができることを私は知っています。それらのすべては、微妙な違いのある代替案のように私には思えます。
関数ポインタ:関数へのポインタ
関数オブジェクト:()演算子をオーバーロードしたクラスのインスタンス。関数として機能することができます。
ラムダ関数:その場で定義でき、その一部であるステートメントの存続期間中にのみ存在する無名関数(C ++ 11で新しく導入された)
微妙なため、特定のシナリオでは3つの選択肢のどれが最も適切であるか疑問に思います。それで、そこにいる専門家は、私がさまざまなシナリオでそれらを決定して使用できるように、親切に(いくつかの選択基準について?)いくつかの光を当てました。