태그: functor
4편
-
C++ 콜백 구현 4가지 비교: 함수 포인터, 펑터, std::function, 람다와 멤버 함수 콜백
C++ 콜백 패턴 정리. 함수 포인터, 펑터, std::function, 람다 네 가지 구현 방법을 비교하고, 비동기 콜백·이벤트 핸들러·Observer 패턴 활용, 콜백 지옥 회피와 성능 고려사항을 다룹니다.
-
C++ 함수 객체 vs 람다 vs std::function: operator() 구현과 인라인·성능 차이
operator()를 가진 함수 객체를 기본 문법부터 상태를 가진 functor, map·set용 비교자, unordered_map용 해시 객체까지 예제로 설명합니다. 람다·std::function 대비 functor가 나은 경우와 커스텀 deleter 활용도 다룹니다.
-
C++ 함수 객체(펑터): 상태를 가진 호출 객체, STL 알고리즘 활용, 람다와의 차이
operator()를 오버로드한 함수 객체가 호출 사이에 상태를 유지하는 방법과 STL 알고리즘에서 쓰는 법을 설명하고, operator()의 const 누락, const를 지키면서 상태를 바꿔야 할 때의 mutable, 큰 펑터의 복사 비용을 std::ref로 줄이는 법을 예제로 다룹니다.
-
C++ std::function | 콜백·전략 패턴과 함수 객체
버튼 클릭 핸들러처럼 실행할 함수를 변수에 담아야 할 때 std::function으로 일반 함수·람다·멤버 함수·함수 객체를 저장하는 방법을 다룹니다. 상태를 가진 functor, std::bind와 람다 비교, 전략·명령 패턴 구현, 빈 function 호출과 dangling 캡처 오류도 설명합니다.