当我的朋友正在阅读this hpp file时,有一段代码难以理解。具体地,
A(B, C)
,int(int, int)
,或者在这种情况下T(Type::*)
是什么意思?我已经看过std::function<int(int, int)>
之类的用法,但仍然不知道int(int, int)
是什么,单独就意味着什么。Type::*
是什么意思?星号标记如何直接跟在::
之后?答案 0 :(得分:3)
::*
用于声明指向类成员的指针。所以在这种情况下,它指向模板类型callled Type
的成员。
std::function<int(int, int)>
是一个std ::函数,用于保存一个接受(int,int)参数的方法,并返回一个整数结果。 (这是着名的复杂C / C ++类型声明语法的一个例子。)