C++ 람다 표현식은 매개변수 전달을 통해 외부 변수를 캡처할 수 있습니다. 구체적인 단계는 다음과 같습니다. 람다 표현식을 매개변수로 받아들이는 함수를 정의합니다. 람다 식에서 외부 변수를 캡처합니다. 함수에 매개변수로 람다 표현식을 전달합니다. 캡처된 외부 변수에 액세스하려면 함수에서 람다 식을 호출하세요.
C++ 함수의 람다 표현식이 매개변수 전달을 통해 외부 변수를 캡처하는 방법
Lambda 표현식은 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
은 값이 초기화되는 외부 int 변수입니다. 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
함수는 함수 개체 lambda
를 매개변수로 받아들이고, 함수 개체를 호출하고 캡처된 외부 변수의 값을 실제 매개변수로 전달합니다. lambda
함수는 외부 변수 global_var
를 캡처하는 람다 식입니다. 람다 식에서는 외부 변수의 값이 표준 출력으로 인쇄됩니다. 🎜🎜main
함수는 람다 표현식을 print_captured_var
함수에 매개변수로 전달한 다음 함수를 호출합니다. 🎜🎜print_captured_var
함수는 캡처된 외부 변수의 값을 람다 식으로 인쇄하여 "Captured Variable: 10"이라는 출력을 얻습니다. 🎜🎜위 내용은 C++ 함수의 람다 표현식은 매개변수 전달을 통해 어떻게 외부 변수를 캡처합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!