>백엔드 개발 >C++ >C++에서 람다 표현식을 사용하는 방법은 무엇입니까?

C++에서 람다 표현식을 사용하는 방법은 무엇입니까?

王林
王林원래의
2024-04-12 15:51:01537검색

Lambda 표현식은 일회성 함수를 만드는 데 사용되는 C++의 익명 함수입니다. 캡처 목록을 통해 외부 범위 변수에 액세스하고 매개변수를 수신하고 반환 유형을 정의할 수 있습니다. 람다 표현식은 런타임에 함수를 빠르게 생성하거나 전달하는 데 자주 사용됩니다. Lvalue 및 Rvalue에 액세스할 수 있으며 상태 저장 또는 상태 비저장이 가능합니다.

C++ 中如何使用lambda表达式?

C++에서 람다 표현식 사용

Lambda 표현식은 일회성 익명 함수를 정의할 수 있는 C++의 강력한 기능입니다. 일반적으로 함수를 빠르게 생성하거나 런타임에 전달해야 하는 경우에 사용됩니다.

Syntax

람다 표현식의 일반 구문은 다음과 같습니다.

[capture list](parameters) -> return_type { body }

위치:

  • 캡처 목록: 람다 표현식이 액세스할 수 있는 외부 범위의 변수를 지정하는 캡처 목록입니다.
  • parameters: 람다 표현식 함수의 매개변수 목록입니다.
  • return_type: 람다 표현식 함수의 반환 유형입니다.
  • body: 람다 표현 함수의 함수 본문입니다.

실용 사례

문자열을 대문자로 변환하는 람다 표현식을 만들어 보겠습니다.

auto to_upper = [](const std::string& s) -> std::string {
    std::string result;
    for (char c : s) {
        result.push_back(std::toupper(c));
    }
    return result;
};

필요할 때 이 람다 표현식을 사용할 수 있습니다. 예를 들어:

std::string my_string = "hello, world";
std::string upper_string = to_upper(my_string);

upper_string에는 이제 변환된 문자열 "HELLO, 세계".

참고

  • Lambda 표현식은 이름을 지정할 수 없는 익명 함수입니다.
  • 캡처 목록의 변수는 외부 범위에 정의된 변수여야 합니다.
  • Lambda 표현식은 Lvalue 및 Rvalue에 액세스할 수 있습니다.
  • Lambda 표현식은 Stateful 또는 Stateless일 수 있습니다. 상태 저장 람다 식은 변수를 캡처하고 수정하는 반면, 상태 비저장 람다 식은 변수만 읽습니다.

위 내용은 C++에서 람다 표현식을 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.