我可以使用 C++03 标准库功能模拟一个空的 lambda 吗?

Can I simulate an empty lambda with C++03 standard library features?

我坚持使用 GCC 4.4,所以尽管在我的代码库中引入了 -std=c++0x,但我没有使用 lambdas。

是否有等效于空 lambda [](){} 的 C++03,我可以安全地将其用作具有某种类型 Callback 的泛型参数的默认参数?

我问是因为旧的 std::plusstd::less 等很方便,但我似乎找不到空操作,void-返回等价物。

struct noop {
  static void do_nothing(){};
  void operator()()const{};
  typedef void(*pf)();
  operator pf()const { return do_nothing; }
};

noop() 相当等同于 [](){}.

它甚至可以像 noop lambda 那样转换为函数指针。