元ネタ: iorateの日記「 C++0x で不動点コンビネータ」 http://d.hatena.ne.jp/iorate/20110729/1311949434 上の記事の不動点コンビネータは,再帰の度に毎回 std::function を生成しているため,かなり遅いですが, std::function は, std::reference_wrapper で包まれた関数オブジェクトを渡された場合に 動的メモリ確保を省いて速度を改善することができるので,試しに std::ref で包んで,オリジナルと比較してみました. ソースコード: #include <utility> #include <functional> namespace pezzi { // ref 版 struct fix1_t { template< class F > struct result { typedef