Język C++
ptr_fun
[szablon funkcji] Zwraca obiekt funkcyjny opakowujący funkcję.Składnia
#include <functional>
namespace std {
template < class Arg, class Result >
pointer_to_unary_function < Arg, Result > ptr_fun( Result( * f )( Arg ) )
{
return pointer_to_unary_function < Arg, Result >( f );
}
template < class Arg1, class Arg2, class Result >
pointer_to_binary_function < Arg1, Arg2, Result > ptr_fun( Result( * f )( Arg1, Arg2 ) )
{
return pointer_to_binary_function < Arg1, Arg2, Result >( f );
}
}
Parametry szablonu
Przyjmowane argumenty
Wartość zwracana
Funkcja zwraca obiekt funkcyjny opakowujący funkcję.
Opis szczegółowy
Funkcja tworzy obiekt funkcyjny opakowujący wskaźnik na funkcję. Taki obiekt może następnie zostać użyty w algorytmach biblioteki standardowej jako, na przykład, kryterium sortowania.
Przykład
#include <iostream>
#include <functional>
#include <algorithm>
bool less_5( int a ) {
return a < 5;
}
int main() {
int tab[ 5 ] = { 1, 3, 6, 10, - 1 };
std::cout << "Liczby: ";
for( int a = 0; a < 5; ++a ) std::cout << tab[ a ] << " ";
std::cout << std::endl;
std::cout << "W zbiorze sa " << std::count_if( tab, tab + 5, std::ptr_fun( less_5 ) ) << " liczby mniejsze niz 5." << std::endl;
}
Standardowe wyjście programu:
Liczby: 1 3 6 10 -1
W zbiorze sa 3 liczby mniejsze niz 5.
Zagadnienia powiązane
mem_fun | Zwraca obiekt funkcyjny opakowujący metodę (wersja dla wskaźnika). (szablon funkcji) |
---|
mem_fun_ref | Zwraca obiekt funkcyjny opakowujący metodę (wersja dla referencji). (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.