functors. functor classes
-
Hallo kann mir jmd die themen ganz kurz erklaren damit ich die themen endlich verstehe?
Es geht um die themen in der Überschrift.
Ausserdem:
Predicate functions
Pure functions
Funktionsklasse
Funktionsobjekt (functor?)Ist alles auf englisch und verstehe nicht viel...vielen dank
Muss es aber aus dem englischen heraus die kernaussagen rausbekommenDanke im vorraus.
-
Predicate functions
ist so eine funktion (oder functor, whatever), die man den stl-algorithmen / -containern übergeben würde. also so dinge wie std::less, std::equal oder so, braucht man z.b. bei std::sort.
Pure functions
rein virtuelle funktionen. funktionen, die in der basisklasse deklariert werden (damit ist die basisklasse abstrakt und nicht instanzierbar) und in abgeleiteten klassen überschrieben werden können. fun fact: rein virtuelle funktionen können auch eine implementierung haben.
Funktionsklasse
klasse die dazu da ist, eine funktion darzustellen. besonders interessant wenn du z.b. bei der normalen funktion mehrere parameter hast, der algorithmus - der die funktionsklasse einsetzt - ihm aber nur einen übergibt. dann kannst du dir die restlichen parameter als member merken und im konstruktor definieren.
Funktionsobjekt (functor?)
ka, funktionsobjekt, funktionsklasse, functor ist für mich alles das selbe...
-
Predicate functions
Funktion, die bool zurückgibt.Pure functions
Kann auch heißen: Funktion, deren Ergebnis nur von den übergebenen Parametern abhängt und nichts verändert, also seiteneffektfrei ist.