ToB企服应用市场:ToB评测及商务社交产业平台
标题:
C++ Lambda 表达式递归写法
[打印本页]
作者:
立山
时间:
2022-8-21 12:41
标题:
C++ Lambda 表达式递归写法
今天看到一篇博客介绍使用 Lambda 表达式递归计算 n!。使用了 C++14 的 generic lambda,给 Lambda 表达式加了一个模板参数,在函数调用的时候将 Lambda 表达式作为参数传递给下一层函数。这种方法每次调用函数的时候都要比常规的函数多传一个参数。我想起两年前也用 Lambda 表达式写过递归,利用了引用捕获和 std::function。以 n! 为例,代码为:
[code]#include #include int main(){ std::function f = [&f](int n) { if (n == 0 || n == 1) { return 1; } return n * f(n - 1); } std::cout
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4