Udostępnij za pośrednictwem


mem_fn — Funkcja

Generuje otoki połączeń.

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, o typie słabych wyników takie, że wyrażenie cw(t, a2, ..., aN) jest równoważne z INVOKE(pm, t, a2, ..., aN).Generują wyjątki.

Otoka zwróciło apel 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 członka z Kwalifikator cv cv który nie przyjmuje żadnych argumentów.

Otoka zwróciło apel 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 członka z Kwalifikator cv cv która pobiera 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>

Przestrzeń nazw: std

Zobacz też

Informacje

function — Klasa