C ラムダ式は、パラメータの受け渡しを通じて外部変数をキャプチャできます。 具体的な手順は次のとおりです。 ラムダ式をパラメータとして受け入れる関数を定義します。ラムダ式で外部変数をキャプチャします。ラムダ式をパラメータとして関数に渡します。関数内でラムダ式を呼び出して、キャプチャされた外部変数にアクセスします。
C 関数のラムダ式がパラメータの受け渡しを通じて外部変数を取得する方法
ラムダ式は C の式の一種であり、便利です無名関数を定義する方法。外部変数をキャプチャして、関数スコープ内でアクセスできるようにします。ラムダ式をパラメータとして別の関数に渡す必要がある場合、パラメータの受け渡しを通じて外部変数をキャプチャできます。
次の手順は、パラメーターの受け渡しを介して外部変数をキャプチャする方法を示しています:
#include <iostream> using namespace std; // 外部变量 int global_var = 10; // 接受 lambda 表达式作为参数的函数 void print_captured_var(function<void(int)> lambda) { // 在 lambda 表达式中访问捕获的外部变量 lambda(global_var); } int main() { // 定义 lambda 表达式,捕获外部变量 global_var auto lambda = [](int x) { cout << "捕获的变量:" << x << endl; }; // 将 lambda 表达式作为参数传递给 print_captured_var 函数 print_captured_var(lambda); return 0; }
出力:
捕获的变量:10
この例:
global_var
は、値が 10 に初期化される外部 int 変数です。 print_captured_var
この関数は、関数オブジェクト lambda
をパラメータとして受け取り、その関数オブジェクトを呼び出し、キャプチャされた外部変数の値を実際のパラメータとして渡します。 lambda
関数は、外部変数 global_var
をキャプチャするラムダ式です。ラムダ式では、外部変数の値が標準出力に出力されます。 main
関数は、ラムダ式をパラメータとして print_captured_var
関数に渡し、その関数を呼び出します。 print_captured_var
この関数は、ラムダ式でキャプチャされた外部変数の値を出力し、「キャプチャされた変数: 10」という出力を取得します。 以上がC++ 関数のラムダ式は、パラメーターの受け渡しを介して外部変数をどのようにキャプチャしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。