>  기사  >  백엔드 개발  >  데이터 필터링 및 변환에 C++ 람다 표현식을 사용하는 실제 예는 무엇입니까?

데이터 필터링 및 변환에 C++ 람다 표현식을 사용하는 실제 예는 무엇입니까?

王林
王林원래의
2024-04-18 09:15:01727검색

C++에서는 람다 표현식을 사용하여 데이터를 쉽게 필터링하고 변환할 수 있습니다. 예를 들어 람다 식을 사용하여 컨테이너의 홀수 요소를 필터링하고, 컨테이너의 요소를 변환하고, 연관 컨테이너를 필터링 및 변환하고, 알고리즘에서 람다 식을 사용하고, 람다 식을 함수 인수로 전달할 수 있습니다. 이러한 방법을 사용하면 데이터 처리 작업을 더 간단하고 효율적으로 만들 수 있습니다.

使用 C++ lambda 表达式进行数据过滤和转换有哪些实战案例?

데이터 필터링 및 변환을 위해 C++ 람다 표현식을 사용하는 실제 예

Lambda 표현식은 C++에서 특히 데이터를 필터링하고 변환할 때 매우 유용합니다. 다음은 실제 적용 사례입니다.

1. 컨테이너의 요소 필터링

std::vector<int> numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9};

// 使用 lambda 表达式过滤奇数
std::vector<int> odd_numbers = std::filter(numbers.begin(), numbers.end(), [](int n) { return n % 2 != 0; });

2. 컨테이너의 요소 변환

std::vector<double> squares = std::transform(numbers.begin(), numbers.end(), [](int n) { return n * n; });

3. 사용 알고리즘의 람다 식

std::map<int, std::string> name_age = {
    {1, "John"},
    {2, "Mary"},
    {3, "Bob"},
    {4, "Alice"}
};

// 过滤年龄大于 2 的人
auto filtered_name_age = std::map<int, std::string>(name_age.begin(), name_age.end(), [](const std::pair<int, std::string>& p) { return p.second.size() > 2; });

5. 람다 식을 함수 매개변수로 전달

std::sort(numbers.begin(), numbers.end(), [](int a, int b) { return a > b; }); // 从大到小排序

이는 C++에서 데이터 필터링 및 변환에 람다 식을 사용하는 방법 중 일부일 뿐입니다. 람다 식을 활용하면 간결하고 강력한 코드를 작성하여 다양한 데이터 조작 작업을 처리할 수 있습니다.

위 내용은 데이터 필터링 및 변환에 C++ 람다 표현식을 사용하는 실제 예는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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