STL 소스 분석 - 모방 함수

3591 단어 STL
  • 정의: 함수 성 을 가 진 대상;C + + 11 에서 모방 함수 (functor) 를 함수 대상 (function object) 이 라 고 합 니 다.모방 함수 류 의 대상 이 함수 처럼 호출 되 고 모방 함수 류 의 대상 을 호출 할 때 실제 호출 될 때 모방 함수 류 에서 다시 불 러 오 는 operator () 함수;
  • 기능: 모방 함수 의 주요 용 도 는 STL 알고리즘 을 조합 하 는 것 이다.
  • 분류: 산술 류 모방 함수, 관계 연산 류 모방 함수, 논리 연산 류 모방 함수;
  • 함수 포인터: 함수 포인터 도 알고리즘 의 매개 변수 로 할 수 있 지만 함수 포인터 가 STL 이 추상 성에 대한 요 구 를 만족 시 키 지 못 합 니 다.STL 의 다른 구성 요소 와 어 울 리 지 못 하고 유연 한 변화 가 생 긴 다.
  • 조작
  • struct MyPlus//   class
    {
    	int operator()(const int &a, const int &b) const{
    	return a+b;
    	}
    };
    
    int main()
    {
    MyPlus a;//             
    cout<<MyPlus ()(1,2)<<endl;//case 1:                   ,         
    cout<<a(1,2)<<endl;//case 2:                         ;
    cout<<a.operator()(1,2)<<endl;//case 3:             ;
    }
    
    
  • 조작 방법 을 제정 하 는 방법 (아직 잘 모 르 겠 습 니 다) 1 > 보통 함 수 를 정의 하고 함수 지침 을 매개 변수 로 알고리즘 에 전달 할 수 있 습 니 다.2 > 클래스 를 정의 하고 클래스 에 operator () 함 수 를 다시 불 러 와 서 이 클래스 를 모방 함수 클래스 로 만 듭 니 다.3 > lambda 익명 함수 사용 (C + + 11);4 > 다 중 함수 패 키 징 기 std:: function (C + + 11)
  • 을 통 해
  • 참조 소스 코드
  • 좋은 웹페이지 즐겨찾기