Ich weiß nicht, haben viel wissen Sie über Template-Programmierung und functors.
Beginnen wir mit functors starten:
struct greater {
bool operator()(const int& x, const int& b) const {
return x > y;
}
greater g;
g(2,3); // returns false
g(3,2); // returns true
So spotten functors eine Funktion, die Sie auch bool g (int x, int y) umgesetzt haben könnte {return x> y;} und verwendet es die gleiche Weise.
Das Schöne an Funktoren ist, dass Sie auch Daten speichern können, wenn Sie an komplexeren Datenstrukturen arbeiten.
Dann gibt es die Vorlage Teil: Sie wollen den gleichen Funktor für jeden Typ schreiben, ist es egal, ob der Typ ein Int, ein Float, ein komplexes Objekt ist, wird der Code der gleiche sein. Dafür ist der Vorlagen-Teil gedacht.
Was ist damit äquivalent ist, zugreifen können ? Eine Verwendung könnte lauten: std :: sort (Anfang (arr), Ende (arr), std :: Größer()); 'Zum Sortieren eines Containers mit Ganzzahlen von der höchsten zur niedrigsten. –
chris