함수형 프로그래밍에서 C++ 람다 표현식은 어떻게 사용됩니까?
Jun 04, 2024 pm 08:31 PM
c++
C++ 람다 표현식은 편리한 함수형 프로그래밍 도구입니다. 구문은 다음과 같습니다. [capture_list] (parameter_list) -> return_type { body } 실제 사례: 정렬: 문자열 길이로 단어 목록 정렬 필터링: 필터링은 3개의 숫자 목록으로 나눌 수 있습니다.
C++ 람다 표현식: 함수형 프로그래밍을 위한 강력한 도구
C++에서 람다 표현식은 코드 블록을 함수 매개변수로 전달하거나 값을 반환하는 가장 편리한 방법입니다. 간결한 구문과 강력한 기능으로 인해 함수형 프로그래밍을 위한 강력한 도구가 됩니다.
Syntax
lambda 표현식의 구문 형식은 다음과 같습니다.
[capture_list] (parameter_list) -> return_type { body }
로그인 후 복사
- capture_list: 람다 본문 내에서 사용할 수 있는 외부 변수 목록을 캡처합니다.
- parameter_list: 람다 함수의 매개변수 목록입니다.
- return_type: 선택적 반환 유형입니다.
- body: lambda 함수 본문.
연습 사례
1. 사례 정렬
문자열 길이에 따라 단어 목록을 정렬하려면
#include <vector> #include <algorithm> int main() { std::vector<std::string> words = {"Hello", "World", "Lambda", "Expression"}; std::sort(words.begin(), words.end(), [](const std::string& a, const std::string& b) { return a.size() < b.size(); }); for (const auto& word : words) { std::cout << word << "\n"; } return 0; }
로그인 후 복사
출력:
Hello Lambda World Expression
로그인 후 복사
2. 사용 가능한 목록 필터링 3으로 나눌 수 있는 숫자:
#include <vector> #include <algorithm> int main() { std::vector<int> numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9}; std::vector<int> filteredNumbers; std::copy_if(numbers.begin(), numbers.end(), std::back_inserter(filteredNumbers), [](int number) { return number % 3 == 0; }); for (const auto& number : filteredNumbers) { std::cout << number << "\n"; } return 0; }
로그인 후 복사
출력:
3 6 9
로그인 후 복사
위 내용은 함수형 프로그래밍에서 C++ 람다 표현식은 어떻게 사용됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

인기 기사
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD

인기 기사
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7308
9


자바 튜토리얼
1623
14


Cakephp 튜토리얼
1344
46


라라벨 튜토리얼
1259
25


PHP 튜토리얼
1207
29



C++ 객체 레이아웃은 메모리에 맞춰 정렬되어 메모리 사용 효율성을 최적화합니다.

C++ STL에서 사용자 정의 비교기를 구현하는 방법은 무엇입니까?

Actor 모델을 기반으로 C++ 다중 스레드 프로그래밍을 구현하는 방법은 무엇입니까?
