Freigeben über


mem_fn-Funktion

Generiert einen einfachen Aufrufwrapper.

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

Parameter

  • Ret
    Der Rückgabetyp der umschlossenen Funktion.

  • Ty
    Der Typ des Memberfunktionszeigers.

Hinweise

Die Vorlagenfunktion gibt ein einfaches Aufrufswrapper cw, mit einem schwachen Ergebnistyp, sodass zurück, dass der Ausdruck cw(t, a2, ..., aN) entspricht INVOKE(pm, t, a2, ..., aN) ist. 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 geschachtelten Typ argument_type daher, definiert als Synonym zu cv Ty*) nur wenn der Ty-Typ ist ein Zeiger auf die 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, geschachtelten Typ first argument_type als Synonym für cv Ty* und geschachtelten Typ second argument_type daher, definiert als Synonym zu T2) nur wenn der Ty-Typ ist ein Zeiger auf die 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-Klasse