Funktionsobjekte
Funktionsobjekte, auch Funktoren genannt, sind Objekte, die wie Funktionen aufgerufen werden können. In Programmiersprachen wie C++ bezeichnet der Begriff häufig Klassen oder Strukturen, die eine oder mehrere Operator-Funktionen implementieren, üblicherweise operator(). Funktionsobjekte können zustandslos oder zustandsbehaftet sein und damit Informationen zwischen Aufrufen behalten.
Im Gegensatz zu reinen Funktionszeigern ermöglichen Funktionsobjekte das Kapseln von Daten. Sie können z. B. Zähler,
Zu den Vorteilen gehören Typensicherheit, bessere Optimierungsmöglichkeiten durch Inlining und die Fähigkeit, Zustände zu speichern sowie
In Sprachen mit first-class functions – wie JavaScript oder Python – existieren callable Objects ebenfalls, etwa durch Implementierung
Wichtige Aspekte sind die Erstellung, Kopieren bzw. Verschieben von Objekten sowie die Lesbarkeit des Codes, da