Maison > développement back-end > C++ > Comment appeler des pointeurs de fonction membre C ?

Comment appeler des pointeurs de fonction membre C ?

Mary-Kate Olsen
Libérer: 2024-12-14 02:47:10
original
968 Les gens l'ont consulté

How to Call C   Member Function Pointers?

Pointeur d'appel C vers une fonction membre

L'appel de pointeurs vers des fonctions membres en C nécessite une syntaxe unique en raison de leur nature non statique. Pour invoquer efficacement de telles fonctions, un pointeur this représentant l'objet sur lequel la fonction sera appelée doit être fourni à côté des paramètres nommés.

Pour spécifier des pointeurs de fonction membre dans votre code :

typedef void (Box::*HitTest) (int x, int y, int w, int h);
Copier après la connexion

Ceci définit un type de pointeur de fonction membre pour la méthode HitTest du Classe Box.

Pour ajouter des fonctions membres à une liste :

std::list<HitTest> list;

for (std::list<Box*>::const_iterator i = boxList.begin(); i != boxList.end(); ++i)
{
    Box * box = *i;
    list.push_back(&amp;box->HitTest);
}
Copier après la connexion

Pour appeler un pointeur vers une fonction membre :

(box->*h)(xPos, yPos, width, height);
Copier après la connexion

Dans cet exemple, box représente le pointeur this, h est le pointeur vers la méthode HitTest, et xPos, yPos, width et height sont les paramètres de la fonction.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal