Język C++
mem_fun_ref
[szablon funkcji] Zwraca obiekt funkcyjny opakowujący metodę (wersja dla referencji).Składnia
#include <functional>
namespace std {
template < class S, class T >
mem_fun_ref_t < S, T > mem_fun_ref( S( T::* f )() )
{ return mem_fun_ref_t < S, T >( f ); }
template < class S, class T, class A >
mem_fun1_ref_t < S, T, A > mem_fun_ref( S( T::* f )( A ) )
{ return mem_fun1_ref_t < S, T, A >( f ); }
template < class S, class T >
const_mem_fun_ref_t < S, T > mem_fun_ref( S( T::* f )() const )
{ return const_mem_fun_ref_t < S, T >( f ); }
template < class S, class T, class A >
const_mem_fun1_ref_t < S, T, A > mem_fun_ref( S( T::* f )( A ) const )
{ return const_mem_fun1_ref_t < S, T, A >( f ); }
}
Parametry szablonu
Przyjmowane argumenty
Wartość zwracana
Funkcja zwraca obiekt funkcyjny opakowujący metodę.
Opis szczegółowy
Funkcja tworzy obiekt funkcyjny opakowujący wskaźnik na metodę. Przy wywołaniu, obiekt funkcyjny pobiera referencję na obiekt, na którym ma zostać wywołana metoda. Taki obiekt może następnie zostać użyty, na przykład, w algorytmach biblioteki standardowej.
Przykład
#include <iostream>
#include <functional>
#include <algorithm>
class C {
public:
void sth() {
std::cout << "Metoda wywolana!" << std::endl;
}
};
int main() {
C tab[ 5 ];
std::for_each( tab, tab + 5, std::mem_fun_ref( & C::sth ) );
}
Standardowe wyjście programu:
Metoda wywolana!
Metoda wywolana!
Metoda wywolana!
Metoda wywolana!
Metoda wywolana!
Zagadnienia powiązane
ptr_fun | Zwraca obiekt funkcyjny opakowujący funkcję. (szablon funkcji) |
---|
mem_fun | Zwraca obiekt funkcyjny opakowujący metodę (wersja dla wskaźnika). (szablon funkcji) |
---|
Linki zewnętrzne
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.