Zeiger auf Mitgliedsfunktionen in C aufrufen
In C bieten Zeiger auf Mitgliedsfunktionen eine praktische Möglichkeit, Methoden für Objekte dynamisch aufzurufen. Ihre Syntax kann jedoch eine Herausforderung darstellen.
Syntax zum Aufrufen von Zeigern auf Mitgliedsfunktionen
Um einen Zeiger auf eine Mitgliedsfunktion aufzurufen, wird die folgende Syntax verwendet:
(object->*pointer_variable)(params)
wobei:
Syntaxbeispiel
Bedenken Sie den folgenden Codeausschnitt:
typedef void (Box::*HitTest) (int x, int y, int w, int h); for (std::list<HitTest>::const_iterator i = hitTestList.begin(); i != hitTestList.end(); ++i) { HitTest h = *i; (box->*h)(xPos, yPos, width, height); }
In diesem Beispielsweise wird eine Liste von Zeigern auf HitTest-Memberfunktionen durchlaufen. Jeder Zeiger wird aus der Liste abgerufen und aufgerufen, indem der Boxzeiger wie folgt bereitgestellt wird.
Mitgliedsfunktionen zu einer Liste von Zeigern hinzufügen
Um Mitgliedsfunktionen zu einer Liste hinzuzufügen Für Zeiger kann die folgende Syntax verwendet werden:
list.push_back(&box->HitTest);
Dieser Code verschiebt den Zeiger auf die HitTest-Mitgliedsfunktion der Box Objekt in die Liste einfügen.
Das obige ist der detaillierte Inhalt vonWie rufe ich Zeiger auf Memberfunktionen in C auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!