std :: for_each, Aufruf der Member-Funktion mit Referenzparameter

8

Ich habe einen Container mit Zeigern, die ich durchlaufen möchte, und rufe eine Member-Funktion auf, die einen Parameter hat, der eine Referenz ist. Wie mache ich das mit STL?

Meine aktuelle Lösung ist boost :: bind und boost :: ref für den Parameter.

%Vor%

Eine verwandte Frage (von der ich meine aktuelle Lösung abgeleitet habe) ist boost :: bind mit Funktionen, die Parameter haben, die Referenzen sind . Dies fragt speziell, wie man das mit Boost macht. Ich frage, wie es ohne Boost gemacht werden würde.

Bearbeiten Es gibt eine Möglichkeit, dasselbe zu tun, ohne boost zu verwenden. Mit std::bind und Freunden kann der gleiche Code in einem C ++ 11-kompatiblen Compiler wie folgt geschrieben und kompiliert werden:

%Vor%     
Zack The Human 12.03.2009, 05:06
quelle

2 Antworten

5

Dies ist ein Problem mit dem Design von <functional> . Sie müssen entweder boost :: bind oder tr1 :: bind verwenden.

    
dirkgently 12.03.2009, 06:09
quelle
3

Sehen Sie sich an, um std :: foreach mit Parametern / Änderungen zu verwenden . Die Frage zeigt, wie man es mit einer for-Schleife macht. Die angenommene Antwort gibt ein Beispiel dafür, wie dies mit dem Algorithmus for_each erreicht werden kann.

    
Matt Davis 12.03.2009 05:39
quelle

Tags und Links