C++ 함수형프로그래밍 고차함수

함수형 프로그래밍의 핵심 개념 중 하나인 고차함수의 c++ std 구현
제가 개발하는 플랫폼이 c++11 만 지원해서 c++11 에서 가능한 구현만 기술합니다.

filter : std::copy_if

Input iterator 를 받아서 filter를 걸어 return true 에 해당하는 element 만 Output Iterator 로 출력함

map : std::transform

c++17 부터 추가된 기능입니다.
iterator 로 전달받은 element 모두에게 함수를 실행해줍니다.
위에 기술했듯이 c++11을 사용하는 나에겐 언감생심. 쓸수없는 기능이네요.
boost 를 통해 사용할 수 있습니다.
참고자료 : boost::transform vs std::transform stackoverflow.com

fold : std::accumulate

c++20 부터 추가된 기능입니다.
이것마저… 업무에 적용할 수 있는게 없네요 ㅡ.ㅡ

참조

Share