Lambda-Ausdruck ist eine anonyme Funktion mit der folgenden Syntax: [Erfassungsliste] (Parameterliste) -> Rückgabetyp {Funktionskörper} Die Erfassungsliste gibt die Variablen an, die aus der Umgebung erfasst werden sollen, die Parameterliste gibt die Parameterliste an , und der Rückgabetyp gibt den Rückgabetyp an, der Funktionskörper definiert den Funktionskörper. Capture-Variablen werden per Referenz erfasst und der Typ kann aus der Capture-Liste, der Parameterliste und dem Rückgabetyp abgeleitet werden.
Ein Lambda-Ausdruck ist eine anonyme Funktion, mit der Sie ein aufrufbares Objekt erstellen können, ohne eine explizite Funktion zu definieren. Die Syntax lautet wie folgt:
[capture list] (parameter list) -> return type { function body }
Wobei:
Hier einige Beispiele:
// Capture 变量 x 并返回 x 的平方 auto square = [](int x) { return x * x; }; // 捕获变量 y 并返回 y 的立方 auto cube = [&](int y) { return y * y * y; };
Hinweis:
Das Folgende ist ein einfaches Beispiel für die Verwendung des Lambda-Ausdrucks:
#include <iostream> #include <vector> using namespace std; int main() { // 使用 lambda 表达式对向量中的每个元素平方 vector<int> numbers = {1, 2, 3, 4, 5}; for_each(numbers.begin(), numbers.end(), [](int& num) { num *= num; }); // 使用 lambda 表达式对向量进行排序 sort(numbers.begin(), numbers.end(), [](int a, int b) { return a > b; }); // 打印排序后的向量 for (int num : numbers) { cout << num << " "; } cout << endl; return 0; }
Das obige ist der detaillierte Inhalt vonWas sind die Syntaxregeln für C++-Lambda-Ausdrücke?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!