typedef bool (OptionManager::* OptionHandler)(const ABString& value);
Начнем с:
OptionManager::* OptionHandler
Это говорит о том, что ::* OptionHandler
является функцией-членом класса OptionManager
.
*
перед OptionHandler
говорит, что это указатель; это означает, что OptionHandler
является указателем на функцию-член класса OptionManager
.
(const ABString& value)
говорит, что функция-член будет принимать значение типа ABString
в константную ссылку.
bool
говорит, что функция-член будет возвращать логический тип.
typedef
говорит, что с помощью «* OptionHandler» вы можете создать множество указателей на функции, которые могут хранить этот адрес этой функции. Например:
OptionHandler fp[3];
fp[0], fp[1], fp[2]
будет хранить адреса функций, семантика которых соответствует приведенному выше объяснению.