Hatena::Grouptenmon

ひこにっき

 | 

2011.08.02

lambda

19:37

http://tenmon.g.hatena.ne.jp/aql/20100512/1273650066

C++0xで。

int n = 10;
std::function<int(int)> fib = [&](int m)->int {
    return m == 0 ? 0 : m == 1 ? 1 : fib(m-1) + fib(m-2);
};
printf("fib(%d) = %d\n", n, fib(n));

blocksもそうだけど怪しげな記法が気にはなるんだけど、まぁ、なるほど。いや素晴らしい。早速使いまくってる。

トラックバック - http://tenmon.g.hatena.ne.jp/aql/20110802
 |