【发布时间】:2013-03-11 17:40:08
【问题描述】:
浏览一些互联网板我遇到了这个小挑战:
“用你喜欢的语言实现一个递归匿名函数”
显然,这很容易使用 std::function/function 指针。
我真正感兴趣的是,如果不将 lambda 绑定到标识符,这是否可行?
类似的东西(忽略明显的无限递归):
[](){ this(); }();
【问题讨论】:
-
使用fixed point combinator,您可以将任何函数转换为递归函数。
-
您是否想要没有标识符,或者您真的是要匿名? C++ 可以有非匿名名称,这些名称由标识符组成,但它们本身不是标识符。
-
没有标识符我的意思是没有变量名