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