3

我遇到了这段代码,不知道它做了什么。你能破译它吗?

typedef std::map<std::string, bool (Foo::*)()> x_t;

我不明白的部分是地图的价值。我很惊讶它有效的 c++ 语法。

谢谢。

4

2 回答 2

6

bool (Foo::*)()是指向Foo不带参数并返回的成员函数的指针bool。所以x_t可能用于将成员函数的名称映射到实际成员。

于 2013-06-20T14:48:17.993 回答
1

x_tmap从 a到返回string成员函数的指针。Foobool

您可以向后阅读 C++ 声明,或者在某些情况下,从里到外阅读。*映射的值是从返回的Foo成员函数中读取的,bool映射的键显然是 a string,并且x_t是从键到值的映射的类型别名。

于 2013-06-20T14:50:31.693 回答