typedef bool (OptionManager::* OptionHandler)(const ABString& value);
Commençons par:
OptionManager::* OptionHandler
Cela dit que ::* OptionHandler
est une fonction membre de la classe OptionManager
. Le *
devant OptionHandler
indique que c'est un pointeur; ce moyen OptionHandler
est un pointeur vers une fonction membre d'une classe OptionManager
.
(const ABString& value)
indique que la fonction membre prendra une valeur de type ABString
dans une référence const.
bool
indique que la fonction membre renvoie un type booléen.
typedef
indique qu'en utilisant "* OptionHandler" vous pouvez créer de nombreux pointeurs de fonction qui peuvent stocker cette adresse de cette fonction. Par exemple:
OptionHandler fp[3];
fp[0], fp[1], fp[2]
mémorise les adresses des fonctions dont correspondance sémantique avec l'explication ci-dessus.
Je suis curieux de savoir pourquoi quelqu'un a downvoté cela ... –
C'est sans doute un doublon. Point est, nous avons autant de problèmes à trouver des questions identiques que vous avez fait. (pas mon downvote BTW) – MSalters
Content de voir que je ne suis pas le seul à trouver la syntaxe du pointeur des fonctions gênante ... dans le meilleur des cas! –