小编Ern*_*tin的帖子

为什么这个本地递归C ++ lamda这么慢呢?

为了理解,我使用带有递归调用(尾递归)的本地lamda。运行此命令(例如,在http://cpp.sh/https://coliru.stacked-crooked.com/上),始终表明lamda调用的质量比其他解决方案要慢。

我的问题是为什么呢?

#include <iostream>
#include <chrono>
#include <functional>

//tail recursive lamda
long long int Factorial5(long long int n)
{ 
  std::function<long long int(long long int,long long int)> aux
     = [&aux](long long int n, long long int acc)
  { 
    return n < 1 ? acc : aux(n - 1, acc * n);
  };
  return aux(n,1);
}

//tail recursive inline class
long long int Factorial6(long long int n)
{ 
  class aux {
    public: inline static long long int tail(long …
Run Code Online (Sandbox Code Playgroud)

c++ performance lambda

1
推荐指数
1
解决办法
119
查看次数

标签 统计

c++ ×1

lambda ×1

performance ×1