C++11 引入了 lambda 表達式,它是一種便捷的創建匿名函數對象的方式。然而,由于 C++ 的限制,lambda 表達式不能直接訪問其所在作用域中的所有變量。為了解決這個問題,可以使用 std::function 或模板來傳遞變量給 lambda 表達式。
std::function
以下是一個使用 C++11 lambda 的最佳實踐案例:
假設我們有一個函數 process,它接受兩個整數參數 a 和 b,并返回它們的和:
process
a
b