c++中內建函式

临江柔發表於2024-09-22
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 表示式捕獲列表 [&] 意味著可以透過引用訪問外部作用域中的變數。

 

相關文章