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 rausbekommen

    Danke 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.


Anmelden zum Antworten