【发布时间】:2015-10-23 15:03:38
【问题描述】:
int main()
{
struct Bob
{
int a;
};
&Bob::a;
}
&Bob::a 是什么意思? Bob 是一个类型而不是一个实例,那么它取了什么地址呢?
【问题讨论】:
-
它创建一个pointer to member
a类型为Bob。 -
这里的关键是
&不应用于Bob,而是应用于整个Bob::a名称。 -
@LightnessRacesinOrbit 但是,如果尝试使用括号
&(Bob::a),它就不起作用。 -
@AlexD:不确定我明白你的意思。我从来没有声称它会。但是 OP 认为这是 [伪代码]
(&Bob)::a,这就是为什么他无法弄清楚发生了什么。 -
@LightnessRacesinOrbit 你的评论是
&适用于整个事情,适用于Bob::a。为了清楚起见,可以尝试在周围加上括号。但是&(Bob::a)不起作用。
标签: c++