Warum verwenden Sie Funktionszeigern?

August 25

In C und C++ und anderen Sprachen, die direkten Zugriff auf den Arbeitsspeicher des Computers zu ermöglichen, ist ein Zeiger eine besondere Art von Wert, eine Speicheradresse statt direkt angegebenen Daten enthält. Funktionszeiger zeigen auf Funktionen im Speicher anstelle von Werten. Funktionszeiger können verwendet werden, auszuführende deklarative oder funktional-Stil Programmiertechniken in C oder C++, Sprachen, die weitgehend unerlässlich sind. Nebenbei bemerkt deklarativen Stil Programmierung betont sagen Sie dem Computer, was etwas ist, während Imperativ-Stil Programmierung betont dem Computer mitzuteilen, wie etwas zu tun.

Daten aus dem Jahr Programmierung

Funktionszeiger können verwendet werden, Daten Programmierung gerichtet, das ist eine Form der generischen Programmierung implementieren. Den Laien ermöglicht die generische Programmierung Funktionen Werte beliebiger Typen verarbeiten. C- und C++-Funktionen standardmäßig können nur Funktionen zuvor deklarierten Typen verarbeiten. Zum Beispiel eine Funktion "Int-Funktion (Käse Int, Char-Ball)" muss einen Integer und dauert nur eine ganze Zahl und ein Zeichen. Funktionszeiger können verwendet werden, dynamisch auf die Typen der Argumente zu versenden.

Style-Programmierung für die Signalverarbeitung

Funktionszeiger können verwendet werden, Signal-Verarbeitung-Style-Funktionen wie Map zu implementieren und zu reduzieren. Dies sind Funktionen, die eine benutzerdefinierte Funktion zu nehmen und auf jedes Element in einer Liste anwenden.

Höherer Ordnung-Programmierung

Höherer Ordnung-Programmierung ist eine andere Form der Programmierung, die in eine höhere Reihenfolge-Funktion sogenannten erlaubt Kapseln gängige "Muster". Funktionszeiger können verwendet werden, um Funktionen der höheren Ordnung zu generieren.

Andere deklarativen Techniken

Funktionszeiger können verwendet werden, viele andere deklarativen Programmierung Techniken umzusetzen. Als weiteres Beispiel kann currying implementiert werden Verwendung von Funktionszeigern. Der Prozess der currying wird definiert, als eine vorher definierte Funktion und das Zurückgeben einer neuen Funktion, die die alte Funktion mit einigen seiner Argumente angewendet wird.