Heim >Backend-Entwicklung >C++ >Wie formuliere ich die Parameterliste des C++-Lambda-Ausdrucks?
Die Parameterlistensyntax des Lambda-Ausdrucks lautet: [capture-list](parameters) -> return-type { body }, wobei: capture-list externe Variablen erfasst. Parameter ist die Parameterliste. return-type ist der Rückgabetyp. body ist der Funktionskörper.
Parameterlistenformulierung des C++-Lambda-Ausdrucks
Lambda-Ausdruck ist eine prägnante und leistungsstarke Inline-Funktion in C++, die externe Variablen erfassen und auf dem Stapel speichern kann. Die Parameterlistensyntax des Lambda-Ausdrucks lautet wie folgt:
[capture-list](parameters) -> return-type { body }
capture-list gibt die zu erfassenden externen Variablen an, die die folgenden Werte haben können:
[=]
: Alle erfassen externe Variablen[=]
: 捕获所有外部变量[&]
: 捕获所有外部变量,并作为引用传递[parameter1, parameter2, ...]
: 捕获指定的外部变量[parameter1, parameter2, ..., ¶meter3, ¶meter4, ...]
: 既捕获指定的变量,又以引用形式捕获其他变量parameters 指定 lambda 表达式的参数列表,语法与普通函数的参数列表相同。
return-type 指定 lambda 表达式的返回类型,可以是任何有效的 C++ 数据类型。
body 是 lambda 表达式的函数体,包含要执行的代码。
实战案例
考虑一个需要对整数列表进行排序的函数。我们可以使用 lambda 表达式定义一个比较函数:
auto compare = [](int a, int b) { return a > b; };
在这个例子中,lambda 表达式捕获了外部变量 a
和 b
。
我们也可以使用 lambda 表达式来创建匿名函数并立即执行:
auto print_name = [](string name) { cout << "Hello, " << name << endl; }; print_name("John Doe");
这个 lambda 表达式捕获了外部变量 name
,并将其作为参数传递给了 cout
[&]
: Erfassen Sie alle externen Variablen und übergeben Sie sie als Referenzen
[parameter1, parameter2, ...]
: Erfassen die angegebenen externen Variablen[Parameter1, Parameter2, ..., &Parameter3, &Parameter4, ...]
: erfasst sowohl die angegebene Variable als auch andere Variablen in Form von Referenzen
a
und b
. 🎜🎜Wir können Lambda-Ausdrücke auch verwenden, um anonyme Funktionen zu erstellen und diese sofort auszuführen: 🎜rrreee🎜Dieser Lambda-Ausdruck erfasst die externe Variable name
und übergibt sie als Parameter an cout Funktion. 🎜🎜Mit benutzerdefinierten Capture-Listen und Parameterlisten bieten Lambda-Ausdrücke leistungsstarke Tools zum Schreiben von prägnantem, flexiblem und wiederverwendbarem Code in C++. 🎜
Das obige ist der detaillierte Inhalt vonWie formuliere ich die Parameterliste des C++-Lambda-Ausdrucks?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!