Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Opracował: pekfos
Udoskonalił: Piotr DejaVu Szawdyński
Język C++

bind2nd

[szablon funkcji] Tworzy funktor jednoargumentowy na podstawie funktora dwuargumentowego, poprzez wstawienie podanej wartości w miejsce drugiego argumentu przekazanego funktora.

Składnia

C/C++
#include <functional>

namespace std
{
    template < class Operation, class T >
    binder2nd < Operation > bind2nd( const Operation & op, const T & x )
    {
        return binder2nd < Operation >( op, typename Operation::second_argument_type( x ) );
    }
}

Parametry szablonu

ParametrOpis
class OperationTyp określający dwuargumentowy funktor.
class TTyp drugiego argumentu przekazywanego do funktora.

Argumenty

ArgumentOpis
const Operation& opStała referencja na dwuargumentowy funktor.
const T& xWartość, która zostanie wstawiona w miejsce drugiego argumentu funktora przekazanego do funkcji.

Zwracana wartość

Zwraca funktor jednoargumentowy, uzyskany w wyniku podstawienia argumentu x do drugiego argumentu funktora op.

Opis szczegółowy

Funkcja tworzy funktor jednoargumentowy na podstawie funktora dwuargumentowego, poprzez wstawienie podanej wartości w miejsce drugiego argumentu przekazanego funktora.

Przykład

C/C++
#include <functional>
#include <cstdio>

int odejmij( int x, int y )
{
    return x - y;
}

int main()
{
    int a = 50;
    int b = 30;
    printf( "Wynik = %d\n", std::bind2nd( std::minus < int >(), a )( b ) );
    printf( "Wynik = %d\n", std::bind2nd( std::ptr_fun( odejmij ), a )( b ) );
    return 0;
}
Standardowe wyjście programu:
Wynik = -20
Wynik = -20

Zagadnienia powiązane

bind1stTworzy funktor jednoargumentowy na podstawie funktora dwuargumentowego, poprzez wstawienie podanej wartości w miejsce pierwszego argumentu przekazanego funktora. (szablon funkcji)

Linki zewnętrzne