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