我正在用 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 函数对象只是对函数指针的无用包装。那我宁愿直接使用函数指针。纠正这个错误的分析是这个问题的重点!