int main() { auto factorial = [&](int n, auto&& self) -> int { if (n <= 1) return 1; return n * self(n - 1, self); // 调用自己 }; std::cout << "Factorial of 5: " << factorial(5, factorial) << std::endl; return 0; }
如果你要实现类似功能,可以像这样:
auto f = [&](int f) {
// 实现内容
return f * f; // 返回值示例:计算平方
};
如果需要明确返回类型,你可以添加 -> 返回类型
:
auto f = [&](int f) -> int {
// 实现内容
return f * f; // 返回一个 int 类型
};
C++ 的 lambda 表达式捕获列表 [&]
意味着可以通过引用访问外部作用域中的变量。
标签:返回,内置,return,函数,int,auto,c++ From: https://www.cnblogs.com/litianyu1969/p/18426043