Heim >Backend-Entwicklung >C++ >Wie erfasst ein Lambda-Ausdruck in einer C++-Funktion externe Variablen über die Parameterübergabe?
C++-Lambda-Ausdrücke können externe Variablen durch Parameterübergabe erfassen. Die spezifischen Schritte sind wie folgt: Definieren Sie eine Funktion, die einen Lambda-Ausdruck als Parameter akzeptiert. Erfassen Sie externe Variablen in Lambda-Ausdrücken. Übergeben Sie einen Lambda-Ausdruck als Parameter an die Funktion. Rufen Sie den Lambda-Ausdruck in der Funktion auf, um auf die erfassten externen Variablen zuzugreifen.
Wie Lambda-Ausdrücke in C++-Funktionen externe Variablen mit Parameterübergabe erfassen
Lambda-Ausdrücke sind eine einfache Möglichkeit, anonyme Funktionen in C++ zu definieren. Sie können externe Variablen erfassen und sie so innerhalb des Funktionsumfangs zugänglich machen. Wenn Sie einen Lambda-Ausdruck als Parameter an eine andere Funktion übergeben müssen, können Sie externe Variablen durch Parameterübergabe erfassen.
Die folgenden Schritte zeigen, wie externe Variablen durch Parameterübergabe erfasst werden:
#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; }
Ausgabe:
捕获的变量:10
In diesem Beispiel:
global_var
ist eine externe int-Variable, deren Wert initialisiert wird 10. global_var
是一个外部 int 变量,其值初始化为 10。print_captured_var
函数接受一个函数对象 lambda
作为参数,它将调用该函数对象并传递一个捕获的外部变量的值作为实参。lambda
函数是一个 lambda 表达式,它捕获外部变量 global_var
。在 lambda 表达式中,外部变量的值被打印到标准输出。main
函数将 lambda 表达式作为参数传递给 print_captured_var
函数,然后调用该函数。print_captured_var
print_captured_var
akzeptiert ein Funktionsobjekt lambda
als Parameter, ruft das Funktionsobjekt auf und übergibt den Wert einer erfassten externen Variablen als tatsächlichen Parameter. lambda
-Funktion ist ein Lambda-Ausdruck, der die externe Variable global_var
erfasst. In einem Lambda-Ausdruck wird der Wert der externen Variablen auf der Standardausgabe ausgegeben. 🎜🎜Die Funktion main
übergibt den Lambda-Ausdruck als Parameter an die Funktion print_captured_var
und ruft dann die Funktion auf. 🎜🎜print_captured_var
-Funktion druckt den Wert der erfassten externen Variablen im Lambda-Ausdruck und erhält die Ausgabe „Erfasste Variable: 10“. 🎜🎜Das obige ist der detaillierte Inhalt vonWie erfasst ein Lambda-Ausdruck in einer C++-Funktion externe Variablen über die Parameterübergabe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!