6. Functors, Functor Classes, Functions, etc.

함수 객체 활용법에 대해 알아보자.

38. Design functor classes for pass-by-value.

다형성 함수 오브젝트에는 std::function이나 람다가 있다.

39. Make predicates pure functions.

서술 함수는 가급적 순수 함수로 만들어야 한다. 즉, 인자 외 다른 것을 캡쳐해서는 안 된다.

40. Make functor classes adaptable.

펑터 클래스는 std::function을 쓰자.

41. Understand the reasons for ptr_fun, mem_fun and mem_fun_ref.

ptr_fun, mem_fun, mem_fun_ref는 모두 C++17에서 삭제되었다. std::function, std::mem_fn을 쓰자.

42. Make sure less<T> means operator<.

커스텀 타입을 정렬 연관 컨테이너의 키로 쓸 때는 less<T>가 비교 함수로 선택된다. 이는 반드시 operator<의 의미로 구현해야 한다.