我坚持使用GCC 4.4,所以尽管向我的代码库引入-std=c++0x
但没有使用lambdas。
是否有一个C ++ 03相当于一个空的lambda [](){}
,我可以安全地使用它作为类型为Callback
的泛型参数的默认参数?
我问,因为旧的std::plus
,std::less
等方便,但我似乎无法找到无操作,void
- 返回等价物。
答案 0 :(得分:5)
struct noop {
static void do_nothing(){};
void operator()()const{};
typedef void(*pf)();
operator pf()const { return do_nothing; }
};
noop()
非常相当于[](){}
。
它甚至可以像noop lambda一样转换为函数指针。