Skip to content

Latest commit

 

History

History
49 lines (30 loc) · 1.2 KB

File metadata and controls

49 lines (30 loc) · 1.2 KB

std::bind

Zurück


Quellcode


Allgemeines

std::bind ist zur Bildung von so genannten „Partial Application” Teilfunktionen vorgesehen. Angenommen, Sie haben ein Funktionsobjekt f, das 3 Argumente akzeptiert:

f(a,b,c);

Sie möchten nun mit Hilfe von f ein neues Funktionsobjekt g definieren, das nur zwei Argumente akzeptiert:

g(a,b) := f(a, 4, b);

g ist eine so genannte „Partial Application” der Funktion f: Das mittlere Argument wurde bereits angegeben, zwei weitere sind bei einem Aufruf von g noch festzulegen. Hier kommt nun std::bind ins Spiel, um eine derartige Funktion g zu definieren:

auto g = std::bind(f, _1, 4, _2);

Im Quellcode finden Sie eine Umsetzung der Standardfunktion std::pow (mit regulär 2 Parametern) auf eine neue Funktion vor, die nur einen Parameter besitzt.

Literaturhinweise

Das Beispiel zu std::bind stammt aus „std::function and std::bind: what are they, and when should they be used?”.


Zurück