`:: *`(冒号冒号星)在C ++中意味着什么?

时间:2018-06-12 13:10:13

标签: c++

当我的朋友正在阅读this hpp file时,有一段代码难以理解。具体地,

  • 某些形成如A(B, C)int(int, int),或者在这种情况下T(Type::*)是什么意思?我已经看过std::function<int(int, int)>之类的用法,但仍然不知道int(int, int)是什么,单独就意味着什么。
  • Type::*是什么意思?星号标记如何直接跟在::之后?

1 个答案:

答案 0 :(得分:3)

::*用于声明指向类成员的指针。所以在这种情况下,它指向模板类型callled Type的成员。

std::function<int(int, int)>是一个std ::函数,用于保存一个接受(int,int)参数的方法,并返回一个整数结果。 (这是着名的复杂C / C ++类型声明语法的一个例子。)