mem_fn Function

간단한 호출 래퍼를 생성합니다.

template<class Ret, class Ty>
    unspecified mem_fn(Ret Ty::*pm);

매개 변수

  • Ret
    반환 형식 래핑된 함수입니다.

  • Ty
    멤버 함수 포인터 유형을 지정 합니다.

설명

템플릿 함수는 간단한 호출 래퍼를 반환 합니다. cw, 약한 결과 형식과 식 cw(t, a2, ..., aN) 같습니다 INVOKE(pm, t, a2, ..., aN).이 예외를 throw 하지 않습니다.

반환 된 호출 래퍼에서 파생 된 std::unary_function<cv Ty*, Ret> (따라서 중첩된 형식을 정의 result_type 의 동의어로 Ret 및 중첩된 형식 argument_type 의 동의어로 cv Ty*) 경우에만 형식 Ty cv 한정자를 멤버 함수에 대 한 포인터입니다 cv 인수를 사용 하는.

반환 된 호출 래퍼에서 파생 된 std::binary_function<cv Ty*, T2, Ret> (따라서 중첩된 형식을 정의 result_type 의 동의어로 Ret, 중첩 형식 first argument_type 의 동의어로 cv Ty*, 및 중첩된 형식 second argument_type 의 동의어로 T2) 경우에만 형식 Ty cv 한정자를 멤버 함수에 대 한 포인터입니다 cv 는 형식의 하나의 인수를 사용 T2.

예제

 

// std_tr1__functional__mem_fn.cpp 
// compile with: /EHsc 
#include <functional> 
#include <iostream> 
 
class Funs 
    { 
public: 
    void square(double x) 
        { 
        std::cout << x << "^2 == " << x * x << std::endl; 
        } 
 
    void product(double x, double y) 
        { 
        std::cout << x << "*" << y << " == " << x * y << std::endl; 
        } 
    }; 
 
int main() 
    { 
    Funs funs; 
 
    std::mem_fn(&Funs::square)(funs, 3.0); 
    std::mem_fn(&Funs::product)(funs, 3.0, 2.0); 
 
    return (0); 
    } 
 
  

요구 사항

헤더: <functional>

네임 스페이스: std

참고 항목

참조

function Class