STL algorithm

람다는 알고리즘 옆에 조건과 기준을 붙여 둔다

sort, find_if, count_if는 데이터를 순회하는 틀을 제공하고, 람다는 그 틀 안에서 비교 기준이나 판별 조건만 담당합니다.

int min_score = 90;
count_if(scores.begin(), scores.end(),
  [min_score](int s) { return s >= min_score; });

나이 기준 정렬

sort

Person 두 개를 받아 p1.age < p2.age를 반환합니다. 결과는 Charlie, Alice, Bob 순서가 됩니다.

30보다 큰 첫 값

find_if

각 숫자 n에 대해 n > 30을 검사합니다. numbers 예제에서는 45를 가리키는 반복자를 얻습니다.

최소 점수 이상 세기

count_if

min_score를 값으로 캡처해 s >= min_score를 검사합니다. 90 이상은 92와 95, 모두 2개입니다.

container

vector 안의 Person, 숫자, 점수 목록

algorithm

정렬, 탐색, 개수 세기 순회 방식

lambda

비교식 또는 조건식을 그 자리에서 작성

result

정렬된 순서, 찾은 반복자, 조건 만족 개수

가독성이 좋아지는 지점: 함수 정의가 사용 지점 바로 옆에 있으므로 알고리즘 호출을 읽는 순간 “무엇을 기준으로 처리하는지” 함께 확인할 수 있습니다.