So verwenden Sie Funktionszeiger in C ++

So verwenden Sie Funktionszeiger in C ++

In c++, Funktionszeiger Bieten Sie ein wirksames Werkzeug zur Manipulation von Funktionen als Daten an. A Funktionszeiger ist eine Variable, die die Speicheradresse einer Funktion enthält. Es funktioniert ähnlich wie ein Standardzeiger, außer dass er die Adresse einer Funktion und nicht die Adresse eines Datenobjekts speichert. Es ist entscheidend, das zu bedenken Funktionszeiger sind einfach eine andere Art von Variable in C ++, und als solche müssen sie deklariert und ähnlich wie bei anderen Variablen initialisiert werden.

Definieren eines Funktionszeigers

Die Syntax, um a zu deklarieren Funktionszeiger ist wie folgt:

return_type (*func_ptr_name) (parameter_list);

Hier, func_ptr_name ist der Name des Funktionszeiger, return_type ist der Rückgabetyp der Funktion und Parameter_List ist die Liste der Parameter, die die Funktion übernimmt.

Hier ist ein Codebeispiel, um einen Funktionszeiger in C zu verwenden++.

#enthalten
#enthalten
Verwenden von Namespace STD;
Hohlraum Würfel (int x)

Cout<<"The cube of a number is "<
int main ()

void (*funptr) (int);
funptr = &cube;
Funptr (5);
Rückkehr 0;

Im obigen Code die Funktionszeiger wird als nichtig erklärt (*funptr) (int), und es wird initialisiert, indem die Adresse der CUBE () -Funktion in gespeichert wird Funptr, bedeutet, dass Funptr Punkte auf die Funktion cube (). Daher können wir die Würfelfunktion mit dem FunPTR aufrufen (Funktionszeiger) wie im Code funptr (5).

Ausgang

A Funktionszeiger, Im Gegensatz zu anderen Zeigern verweist eher auf Code als auf Daten und Daten. A Funktionszeiger Speichert oft den Beginn des ausführbaren Code. Im Gegensatz zu Standardzeigern verwenden wir nicht Funktionszeiger Speicher zuweisen oder frei machen. Wie wir im obigen Programm gesehen haben, ist es auch möglich, den Namen einer Funktion zu verwenden, um den Standort zu bestimmen. Die gleichen Regeln, die für normale Zeiger gelten Funktionszeiger. Die Verwendung von Funktionszeigern kann anstelle von Schalterfällen verwendet werden. A Funktionszeiger kann als Argument geliefert und von einer Funktion zurückgegeben werden, genau wie ein Datenzeiger kann.

Vorteile von Funktionszeigern

Die Hauptvorteile von Funktionszeiger Sind unten aufgeführt.

1: Wiederverwendbarkeit von Code

Einer der wichtigsten Vorteile der Verwendung Funktionszeiger ist, dass sie eine Wiederverwendbarkeit im Code ermöglichen. Anstatt einzigartige Funktionen für alle Umstände schreiben zu müssen, können Sie Funktionen entwerfen, die allgemein genug sind, um mit einer Vielzahl verschiedener Arten von Eingabedaten umzugehen, indem Sie eine definieren Funktionszeiger Geben Sie es in Ihrem Code ein und verwenden Sie es konsequent. Stattdessen müssen Sie nur das Recht bereitstellen Funktionszeiger zur Laufzeit oder über eine Konfigurationsdatei, und die Funktion wird an die Anforderungen des aktuellen Jobs angepasst. Dies beschleunigt nicht nur den Entwicklungsprozess, sondern verbessert auch die Modularität und die langfristige Wartbarkeit Ihres Code.

2: Dynamisches Laufzeitverhalten

Die Fähigkeit, dynamisches Laufzeitverhalten zu implementieren, ist ein weiterer Vorteil der Verwendung Funktionszeiger. Zum Beispiel können Sie eine Funktion haben, die eine bestimmte Berechnung ausführt, aber der genaue Algorithmus, der zur Durchführung dieser Berechnung verwendet wird. Durch Speichern a Funktionszeiger Dies entspricht jedem möglichen Algorithmus. Sie können die entsprechende zur Laufzeit mit if-else-Anweisungen oder einer anderen bedingten Logik auswählen. Auf diese Weise können Sie einen hochflexiblen Code entwickeln, der auf Änderungsbedingungen reagieren kann, ohne ein ganzes Programm wieder aufzubauen.

3: Flexibilität

In c++, Funktionszeiger Bieten Sie ein wirksames Tool zum Erstellen flexibler, generischer Code an. Funktionszeiger sind im Wesentlichen Variablen, die die Adresse des Speicherorts einer Funktion enthalten. Sie ermöglichen es, Funktionen in Datenstrukturen wie Arrays oder Listen zu speichern, als Argumente für andere Funktionen bereitzustellen, und sogar verwendet, um dynamisch die richtige Funktion zu wählen, um basierend auf Laufzeitumständen oder Benutzereingaben auszuführen.

Abschluss

Funktionszeiger In C ++ sind wirksam, die dynamisches Laufzeitverhalten und Code -Wiederverwendung unterstützen. Sie können extrem flexible und adaptive Code schreiben, der sich an die Änderung der Anforderungen im Laufe der Zeit anpassen kann, indem Sie die Adressen von Funktionen in Variablen speichern. Funktionszeiger sind für jeden professionellen C ++ - Codierer notwendig, obwohl er möglicherweise etwas Arbeit lernt, um zu lernen.