warum liefert for_each() ein funktorobjekt(kopie) zurück und ...
-
hi
... warum übernimmt es dieses nicht per referenz als parameter, da die objekte ja unter umständen auch sehr komplex sein können ...
gibt doch bestimmt eine gute erklärung für diese art der definition ....
ich bin ganz ohr und bedanke mich bei euch
andy
-
for_each( xx, xx, bind2nd( xxx, xxx));
/// hier stand Käse... ich sollte richtig lesen -.-
Funktoren sind dafür gemacht kopiert zu werden (bin ich aber auch schon böse mit auf die Nase gefallen, weil ich nicht mit einer Kopie gerechnet habe). "Schwere" Funktoren oder Funktoren mit internen Zuständen sind eh eine Sache für sich. Bei bestimmten Algorithmen (wie copy_remove_if glaub ich) kann das ziemlichen Ärger machen, wenn man nicht mit Kopien rechnet.
Am besten immer einen Light-Weight Funktor schreiben. Oder einen Funktor, der einen Zeiger auf das Arbeitstier hält.