C++ で http サーバーのラッパーを作成しています。私のコンパイラは C++03 (gcc 4.1.2) しかサポートしておらず、boost を使用できません。
関数、オブジェクト メソッド、または静的オブジェクト メソッドのいずれかを登録できる、一般化されたコールバック メカニズムを実装してリクエストに応答したいと考えていました。
<functional>
関数オブジェクト (C++03、http://www.cplusplus.com/reference/functional/ ) を(あまりにも) ざっと見てみると、それが答えだと思いました。
ただし、<functional>
関数オブジェクトは一般化されたコールバック メカニズムを提供することを意図していないようです。
だから私は疑問に思います: <functional>
C++03 での関数オブジェクトの使用は何ですか? 彼らは何のために意味されていますか?単純な関数ポインタよりも優れていると思われる真の利点は何ですか? それとも、C++03 バージョンに欠陥があり、C++11 バージョンだけが実際に役立つのでしょうか?
[編集] 私が最初に理解した限りでは、C++03 の関数オブジェクトは、関数ポインタをラップする無駄なものにすぎないように思えました。それでは、関数ポインタを直接使用したいと思います。この間違った分析を正すことが、この質問のポイントです。