C++ 对类数据成员的引用

nya*_*108 7 c++ reference member

我最近才发现存在指向类数据成员的指针,例如:

class Car
{
    public:
    int speed;
};

int main()
{
    int Car::*pSpeed = &Car::speed;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

是否也存在对类数据成员的引用?如果是这样,声明它们的语法是什么?

Ker*_* SB 4

不,没有对类成员的引用,也没有“类成员”类型的值。您唯一可以拥有的是指向非静态类成员(指向数据成员或成员函数)的指针。

std::is_member_pointer特质很好地总结了这一点:指向成员的指针是一种类型T U::*,其中U是类类型,T是对象或函数类型。(一如既往,没有指向引用的指针。)