Freigeben über


mem_fn Function

Generiert einen einfachen Aufrufswrapper.

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

Parameter

  • Ret
    Der Rückgabetyp der Funktion zeichnen.

  • Ty
    Der Typ des Memberfunktionszeigers.

Hinweise

Die Vorlagenfunktion gibt einen einfachen Aufrufswrapper cw, mit einem schwachen Ergebnistyp zurück, so, dass der Ausdruck cw(t, a2, ..., aN) zu INVOKE(pm, t, a2, ..., aN) entspricht.Sie löst keine Ausnahmen aus.

Der zurückgegebene Aufrufswrapper wird von std::unary_function<cv Ty*, Ret> (den geschachtelten Typ result_type als Synonym für Ret und den geschachtelten Typ argument_type daher, definiert als Synonym für cv Ty*) nur wenn der Typ Ty ist ein Zeiger auf eine Memberfunktion mit LebenslaufQualifizierer cv abgeleitet, der keine Argumente akzeptiert.

Der zurückgegebene Aufrufswrapper wird von std::binary_function<cv Ty*, T2, Ret> (den geschachtelten Typ result_type als Synonym für Ret, den geschachtelten Typ first argument_type als Synonym für cv Ty* und den geschachtelten Typ second argument_type daher, definiert als Synonym für T2) nur wenn der Typ Ty ist ein Zeiger auf eine Memberfunktion mit LebenslaufQualifizierer cv, der ein Argument des Typs, T2 abgeleitet.

Beispiel

 

// 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); 
    } 
 
  

Anforderungen

Header: <functional>

Namespace: std

Siehe auch

Referenz

function Class