实例成员函数指针 的 一个小细节

你提供的代码定义了一个名为a的类,并初始化了一个名为b的对象。代码还包括一个main函数。

让我们逐步解析这段代码:

class a {
public:
    int a::* * p;       // 指向int成员指针的指针
    int a::* pp;        // 指向int成员的指针
    int a::* a::* ppp;  // 指向int成员指针的指针的指针
} b;

在这段代码中,a::*代表指向a类的int成员的指针。因此,int a::* * p是指向int成员指针的指针,int a::* pp是指向int成员的指针,int a::* a::* ppp是指向指向int成员指针的指针。

int main() {
    b.ppp = &a::pp;

这行代码将b.ppp指向a::pp,这是不正确的。因为a::ppint a::*类型的指针,而b.pppint a::* a::*类型的指针的指针。

    b.ppp = &b.pp;  // 错误

    b.p = &b.pp;  
    b.p = &a::pp;  // 错误
};

这两行代码也是不正确的。因为b.p是指向int a::* *类型的指针,而b.pp是指向int a::*类型的指针。类型不匹配,不能将它们赋值给彼此。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wniuniu_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值