我已经开始使用C++了很长一段时间没用过它.虽然大部分都是有意义的,但有一些我觉得有点困惑.例如,有人可以解释这一行的作用:
typedef bool (OptionManager::* OptionHandler)(const ABString& value);
Run Code Online (Sandbox Code Playgroud)
typedef bool (OptionManager::* OptionHandler)(const ABString& value);
Run Code Online (Sandbox Code Playgroud)
让我们从:
OptionManager::* OptionHandler
Run Code Online (Sandbox Code Playgroud)
这表示这::* OptionHandler是该类的成员函数OptionManager.在*前面的OptionHandler说,这是一个指针; 这意味着OptionHandler是指向类的成员函数的指针OptionManager.
(const ABString& value)表示成员函数将类型的值ABString转换为const引用.
bool 说成员函数将返回一个布尔类型.
typedef说使用"*OptionHandler"可以创建许多函数指针,可以存储该函数的地址.例如:
OptionHandler fp[3];
Run Code Online (Sandbox Code Playgroud)
fp[0], fp[1], fp[2] 将存储其语义与上述说明相匹配的函数的地址.