Udostępnij za pośrednictwem


mem_fn Function

Generuje otoki proste wywołanie.

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

Parametry

  • Ret
    Zwracany typ funkcji zawinięty.

  • Ty
    Typ wskaźnika funkcji Członkowskich.

Uwagi

Funkcja szablonu zwraca otoki proste wywołanie cw, typem słabych wyników takie, że wyrażenie cw(t, a2, ..., aN) jest równoważne INVOKE(pm, t, a2, ..., aN).Generują wyjątki.

Otoka wywołania zwracane jest pochodną std::unary_function<cv Ty*, Ret> (stąd definiowanie typu zagnieżdżonego result_type jako synonim Ret i typu zagnieżdżonego argument_type jako synonim cv Ty*) tylko wtedy, gdy typ Ty jest wskaźnik do funkcji Kwalifikator cv Członkowskie cv , nie przyjmuje żadnych argumentów.

Otoki wywołania zwracane jest pochodną std::binary_function<cv Ty*, T2, Ret> (stąd definiowanie typu zagnieżdżonego result_type jako synonim Ret, zagnieżdżony typ first argument_type jako synonim cv Ty*i typu zagnieżdżonego second argument_type jako synonim T2) tylko wtedy, gdy typ Ty jest wskaźnik do funkcji Kwalifikator cv Członkowskie cv który przyjmuje jeden argument typu T2.

Przykład

 

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

Wymagania

Nagłówek: <functional>

Obszar nazw: std

Zobacz też

Informacje

function Class