此语法是什么意思.(::*).

What does this syntax mean. (::*)

本文关键字:意思 语法 是什么      更新时间:2023-10-16

在重构一段代码时,我遇到了下面的一行:

class Bar
{
protected:
int (Bar::* fooFunction)(float); //this line
}

我以前从未见过这种语法。 这种语法是什么,为什么在C++使用它?

它是一个成员函数指针。

具体来说,它是指向Bar对象的成员函数的指针,该函数接受float参数并返回int

在此处阅读更多内容: http://en.cppreference.com/w/cpp/language/pointer#Pointers_to_member_functions

这是什么语法

它声明指向成员函数的指针。

为什么在C++使用它?

它用于指向非静态成员函数。