我坚持使用 GCC 4.4,因此尽管在我的代码库中引入了 -std=c++0x
,但我没有使用 lambda。
是否有等效于空 lambda [](){}
的 C++03,我可以安全地将其用作具有某种类型 Callback< 的泛型参数的默认参数
?
我问是因为旧的 std::plus
、std::less
等很方便,但我似乎找不到空操作, void
-返回等价物。
最佳答案
struct noop {
static void do_nothing(){};
void operator()()const{};
typedef void(*pf)();
operator pf()const { return do_nothing; }
};
noop()
相当等同于 [](){}
。
它甚至可以像 noop lambda 那样转换为函数指针。
关于c++ - 我可以使用 C++03 标准库功能模拟一个空的 lambda 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38333817/