typedef bool (OptionManager::* OptionHandler)(const ABString& value);
Vamos a empezar con:
OptionManager::* OptionHandler
Esto dice que ::* OptionHandler
es una función miembro de la clase OptionManager
. El *
delante de OptionHandler
dice que es un puntero; esto significa que OptionHandler
es un puntero a una función miembro de una clase OptionManager
.
(const ABString& value)
dice que la función de miembro tomará un valor de tipo ABString
en una referencia constante.
bool
dice que la función miembro devolverá un tipo booleano.
typedef
dice que con "* OptionHandler" puede crear muchos punteros a funciones que pueden almacenar esa dirección de esa función. Por ejemplo:
OptionHandler fp[3];
fp[0], fp[1], fp[2]
almacenará las direcciones de las funciones cuyo partido de la semántica con la explicación anterior.
Tengo curiosidad por saber por qué alguien rechazó esta ... –
Es sin duda un duplicado. El punto es que tenemos tantos problemas para encontrar preguntas idénticas como tú. (no mi voto negativo por cierto) – MSalters
Me alegra ver que no soy el único que encuentra las funciones sintaxis del puntero incómodas ... ¡en el mejor de los casos! –