C Call Pointer To Member Function
Das Aufrufen von Zeigern auf Memberfunktionen in C erfordert aufgrund ihrer nicht statischen Natur eine eindeutige Syntax. Um solche Funktionen effektiv aufzurufen, muss neben den benannten Parametern ein this-Zeiger angegeben werden, der das Objekt darstellt, für das die Funktion aufgerufen wird.
So geben Sie Mitgliedsfunktionszeiger in Ihrem Code an:
typedef void (Box::*HitTest) (int x, int y, int w, int h);
Dies definiert einen Member-Funktionszeigertyp für die HitTest-Methode von Box Klasse.
So fügen Sie Mitgliedsfunktionen zu einer Liste hinzu:
std::list<HitTest> list; for (std::list<Box*>::const_iterator i = boxList.begin(); i != boxList.end(); ++i) { Box * box = *i; list.push_back(&box->HitTest); }
So rufen Sie einen Zeiger auf eine Mitgliedsfunktion auf:
(box->*h)(xPos, yPos, width, height);
In In diesem Beispiel stellt Box den Zeiger dies dar, h ist der Zeiger auf die HitTest-Methode und xPos, yPos, width und Höhesind die Funktionsparameter.
Das obige ist der detaillierte Inhalt vonWie rufe ich C-Member-Funktionszeiger auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!