람다 표현식에서 기본 매개변수를 사용하면 기본 매개변수 값을 지정할 수 있고, 가변 매개변수를 사용하면 가변 개수의 매개변수를 전달할 수 있습니다. 기본 매개변수는 필수 매개변수 뒤에 와야 하며, 가변 매개변수는 함수 매개변수 중 마지막에 와야 합니다. 이러한 기능은 문자열 목록 작업 시 접두사 및 접미사를 추가하는 등 코드를 단순화하고 가독성을 향상시킵니다.
Lambda 표현식에서 C++ 함수 기본 매개변수 및 변수 매개변수 적용
Lambda 표현식은 런타임 시 함수 생성을 허용하는 익명 함수입니다. 기본 매개변수와 가변 매개변수를 사용하여 Lambda 표현식의 기능을 향상할 수 있습니다.
기본 매개변수
기본 매개변수를 사용하면 람다 표현식의 매개변수에 대한 기본값을 지정할 수 있습니다. 호출 시 매개변수가 제공되지 않으면 기본값이 사용됩니다.
int add(int a, int b = 10) { return a + b; } int main() { auto sum = [](int a, int b) { return a + b; }; // 无默认参数 auto sumWithDefaultValue = [](int a, int b = 10) { return a + b; }; // 有默认参数 cout << sum(5, 6) << endl; // 输出: 11 cout << sumWithDefaultValue(5) << endl; // 输出: 15 return 0; }
가변 매개변수
가변 매개변수를 사용하면 다양한 수의 매개변수를 람다 표현식에 전달할 수 있습니다. 가변 매개변수는 함수 매개변수의 마지막 매개변수여야 하며 ...
로 표시됩니다.
int sumAll(int n, ...) { va_list args; va_start(args, n); int sum = n; for (int i = 0; i < n; i++) { sum += va_arg(args, int); } va_end(args); return sum; } int main() { auto sumAllLambda = [](int n, ...) { va_list args; va_start(args, n); int sum = n; for (int i = 0; i < n; i++) { sum += va_arg(args, int); } va_end(args); return sum; }; cout << sumAll(3, 1, 2, 3) << endl; // 输出: 9 cout << sumAllLambda(4, 4, 5, 6, 7) << endl; // 输出: 22 return 0; }
실용 사례
기본 매개변수와 가변 매개변수를 사용하여 코드를 단순화하고 가독성을 높일 수 있습니다. 예를 들어, 문자열 목록을 처리하는 함수를 생각해 보세요:
void processStrings(const vector<string>& strings, string defaultPrefix = "", string defaultSuffix = "") { for (const auto& str : strings) { cout << defaultPrefix << str << defaultSuffix << endl; } } int main() { vector<string> names = {"John", "Mary", "Bob"}; cout << "Prefix: \"Mr\", Suffix: \".\"" << endl; processStrings(names, "Mr", "."); // 使用默认参数 cout << "Prefix: empty, Suffix: \"!\"" << endl; processStrings(names, "", "!"); // 只使用可变参数 cout << "No prefix or suffix" << endl; processStrings(names); // 使用所有默认值 return 0; }
출력:
Prefix: "Mr", Suffix: "." Mr.John. Mr.Mary. Mr.Bob. Prefix: empty, Suffix: "!" John! Mary! Bob! No prefix or suffix John Mary Bob
위 내용은 람다 표현식에 C++ 함수 기본 매개변수 및 변수 매개변수 적용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!