为了账号安全,请及时绑定邮箱和手机立即绑定

请问关于c++函数形参为this是什么意思?

请问关于c++函数形参为this是什么意思?

C C++
饮歌长啸 2022-04-01 17:07:07
比如:class A{int a,b;updata();}main(){A a;a->updata(this);}这个this表示的是什么意思?是怎么样的参数?
查看完整描述

2 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

this:指向当前对象的指针,并没什么特别的
如果不用这个关键字,怎么取当前对象的指针呢...?
上述代码中的this指向当前CDDBTestView类的对象,仅此而已

我觉得this关键字多数情况可用也可不用,因为在类函数中访问成员一般并不需要加上这个关键字,除非是有局部变量或参数名字和类成员变量一样,就需要加this以示区分,如下是完整代码示例:
#include <iostream>

class A{
int v;
public:
A(){v=3;}
void Set(int v){
std::cout<<"this->v:"<<this->v<<"\nv:"<<v<<'\n';
this->v=v;
}
};

int main(){
A a;
a.Set(4);
return 0;
}

 


查看完整回答
反对 回复 2022-04-06
?
哔哔one

TA贡献1854条经验 获得超8个赞

指向当前对象的指针
1.updata();是什么函数? 普通函数没有返回类型,构造函数updata!=A?
2.a->updata(this);对象指针操作符? A a; a是指向对象A的指针吗?

查看完整回答
反对 回复 2022-04-06
  • 2 回答
  • 0 关注
  • 154 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信