C++中的“.*”是什么意思?

 我来答
59分粑粑分享生活
高粉答主

2023-08-02 · 专注生活好物分享,解答日常方方面面的问题
59分粑粑分享生活
采纳数:326 获赞数:119794

向TA提问 私信TA
展开全部

这个操作符是两个操作符组成的,一个是点“.”一个是星“*”。这两个操作符在C++中都有自己的作用,主要用处为:

(1)“.”是成员调用。

(2)“*”为取地址处的值.

“.*”在一起连续使用的情况有很多,例如:

class ob

{

char*p;

}

ob temp;

“.*”两个操作符连在一起被称为一个操作符的情况只有一种,就是在成员函数指针的调用上。

扩展资料:

成员函数指针与普通函数指针有很大差别,所以C++为成员函数指针制定了一系列操作符,“.*”就是其中一个。举例如下:

class ob

{

void fcun(){}

};//类ob内有函数func;

typedef void(ob::*pobfunc)();//成员函数指针类型

pobfunc p=&ob::func;//定义成员函数指针p指向函数func

ob temp;//定义ob类对象temp

(temp.*p)();使用对象temp加上.*运算符调用p指向的成员函数

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式