동작의 수명과 재사용 범위에 따라 표현을 고른다

알고리즘에 넘길 동작은 상태, 이름, 재사용성으로 고른다.

operator()상태 있는 객체 호출
lambda짧은 조건 즉석 작성
standard functorless/greater 재사용
std::function보관과 타입 소거
구분판단 기준다음 행동
일반 함수상태가 없고 여러 곳에서 재사용이름 있는 함수로 분리
함수 객체호출 사이 상태를 들고 있어야 함멤버 변수 + operator()
람다짧은 조건/비교를 호출 지점 옆에 둠캡처 범위와 수명 확인
std::function서로 다른 callable을 저장해야 함타입 소거 비용 확인

핵심 알고리즘에 넘길 동작은 상태가 필요한지, 호출 지점에 남길지, 나중에 보관할지를 기준으로 고른다.