c++中内置函数

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 表达式捕获列表 [&] 意味着可以通过引用访问外部作用域中的变量。

 

 

posted on 2024-09-22 22:38  临江柔  阅读(10)  评论(0编辑  收藏  举报