Hallo Ich habe eine Funktion welche Signatur ist
std :: string f (Doppel x, Doppelparam1, Doppelparam2, Doppelparam3);
Ich möchte es auf einem std :: vector xvalues für den Parameter x aufrufen, indem ich etwas wie std :: transform für einen bestimmten Wert von param1, param2 und param3 verwende.
Es wäre das Äquivalent von:
%Vor%Wie kann das eleganter gemacht werden?
Mit freundlichen Grüßen Tony
Sie sollten sich boost :: bind ansehen, damit Sie Wie der Name schon sagt, um Argumente an Ihre Funktion f
:
Das Ergebnis dieser Bindung ist eine unäre Funktion ( _1
ist ein Platzhalter für das Argument, mit dem es aufgerufen werden soll): Alle anderen Parameter haben feste Werte param1
, param2
, param3
.
Und der Vollständigkeit halber, die C ++ 0x-Version, oder was ist der ganze Aufwand über Lambdas ?
%Vor%Tags und Links c++