Was bedeuted void operator() (int i) {cout << " " << i;}
-
Hallo Experten,
Bei der Homepage http://www.cplusplus.com/reference/algorithm/for_each.html
zum Thema for_each bin ich auf folgenden Beispiel Code getroffen.// for_each example #include <iostream> #include <algorithm> #include <vector> using namespace std; struct myclass { void operator() (int i) {cout << " " << i;} } myobject; int main () { vector<int> myvector; myvector.push_back(10); myvector.push_back(20); myvector.push_back(30); cout << "\nmyvector contains:"; for_each (myvector.begin(), myvector.end(), myobject); cout << endl; return 0; }
Die Ausgabe ist: myvector contains: 10 20 30
Aber wie wird der Operator hier aufgerufen?
Wird myobject implizit als myobject(10); myobject(20); myobject(30); aufgerufen?
Aber was macht nun hier der operator() ??Bitte um eure Unterstützung.
-
Schau z.Bsp. mal hier
http://de.wikibooks.org/wiki/C%2B%2B-Programmierung:_Standard_Template_Library#Funktionsobjekte
-
Hallo Braunstein,
danke für die rasche Antwort.
Damit ist meine Frage vollständig geklärt.lg und schönen Tag noch