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

Lig*_*ica 0 c++ c++03

我坚持GCC 4.4,所以尽管介绍-std=c++0x我的代码库没有使用lambdas.

是否有一个C++ 03相当于一个空的lambda [](){},我可以安全地使用它作为某种类型的泛型参数的默认参数Callback

我问,因为旧的std::plus,std::less等了方便,但我似乎无法找到一个空操作,void-returning等同.

Yak*_*ont 5

struct noop {
  static void do_nothing(){};
  void operator()()const{};
  typedef void(*pf)();
  operator pf()const { return do_nothing; }
};
Run Code Online (Sandbox Code Playgroud)

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

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