C 的 Lambda 表達式可作為參數傳遞給其他函數,語法為:auto lambda_function = [](parameter_list) -> return_type { ... }。例如,for_each 函數接收一個向量和一個 lambda 表達式作為參數,lambda 表達式執行指定的操作(如將向量元素輸出到控制台)。
C 函數Lambda 表達式作為參數傳遞
Lambda 表達式是一個小型的匿名函數,它可以作為參數傳遞給其他函數。這在需要將一行或兩行程式碼作為參數傳遞時非常有用。
語法
auto lambda_function = [](parameter_list) -> return_type { // lambda 函数体 };
實例
#下面是一個C 函數接收lambda 表達式作為參數的範例:
#include <iostream> #include <vector> using namespace std; void for_each(const vector<int>& v, function<void(int)> f) { for (int i : v) { f(i); } } int main() { vector<int> v = {1, 2, 3, 4, 5}; // lambda 表达式作为 for_each 函数的参数 for_each(v, [](int i) {cout << i << endl; }); return 0; }
輸出
1 2 3 4 5
在這個範例中,for_each
函數接受一個向量和一個lambda 表達式作為參數。 lambda 表達式被用作回調函數,它在每個向量元素上執行指定的操作(這裡是輸出元素)。
以上是C++ 函式 Lambda 表達式作為參數傳遞的詳細內容。更多資訊請關注PHP中文網其他相關文章!