Jak kończy się/kończy się rekurencyjne wywołanie lambda?Lambda-Over-Lambda w C++ 14
#include <cstdio>
auto terminal = [](auto term) // <---------+
{ // |
return [=] (auto func) // | ???
{ // |
return terminal(func(term)); // >---------+
};
};
auto main() -> int
{
auto hello =[](auto s){ fprintf(s,"Hello\n"); return s; };
auto world =[](auto s){ fprintf(s,"World\n"); return s; };
terminal(stdout)
(hello)
(world) ;
return 0;
}
Czego tu brakuje?
Nice one na tej liście: http://www.gnu.org/fun/jokes/helloworld.html – stefaanv
Faktycznie, jestem ciekaw, jak ten (jest/może być) o nazwie, więc wysłałem kolejne pytanie: http://stackoverflow.com/questions/25619769/how-is-this-c14-construct-called – stefaanv
Duplikat [tego pytania] (http://stackoverflow.com/q/25338795/596781)? –