In der Vergangenheit habe ich die Funktionen bind1st und bind2nd verwendet, um direkte Operationen mit STL-Containern auszuführen. Ich habe jetzt einen Container von MyBase Klasse Zeiger, die die folgenden für simplicities willen sind:Verwenden von STL zum Binden mehrerer Funktionsargumente
class X { public: std::string getName() const; };
Ich möchte rufen Sie die folgende statische Funktion for_each und Bindung sowohl die 1. und 2. Parameter als solche:
StaticFuncClass :: doSomething (ptr-> getName(), funcReturningString());
Wie würde ich for_each verwenden und beide Parameter dieser Funktion binden?
Ich suche nach etwas entlang der Linien von:
for_each(ctr.begin(), ctr.end(), bind2Args(StaticFuncClass::doSomething(), mem_fun(&X::getName), funcReturningString());
Ich sehe Erhöhung eine bind Funktion seiner eigenen bietet, die wie etwas aussieht, die hier von Nutzen sein würde, aber was ist die STL-Lösung?
Vielen Dank im Voraus für Ihre Antworten.
Nur klar zu sein, für jedes Element 'e' in die Sequenz, die Sie aufrufen möchten 'StaticFuncClass :: doSomething (e.getName(), funcReturningString())'? – jalf
ja ... technisch wäre es e-> getName() weil die Elemente im Container Zeiger sind. –