Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
再帰ラムダの実装に興味があり、フィボナッチ計算用の次のコードを見つけました。
std::function<int(int)> lfib = [&lfib](int n) {return n < 2 ? 1 : lfib(n-1) + lfib(n-2);};
質問があります:std::functionは多相関数であるためlfib、ラムダをスタックではなくヒープ メモリに作成/保存します。したがって、プログラムの最適化の可能性が失われる可能性があります。正しいかどうか?
std::function
lfib