首页 > 试题广场 >

下列关于this指针的说法正确的是_________

[单选题]
下列关于this指针的说法正确的是_________
  • this指针存在于每个函数之中
  • 在类的非静态函数中this指针指向调用该函数的对象
  • this指针是指向虚函数表的指针
  • this指针是指向类的函数成员的指针
推荐
【正确答案】B
【解析】A 选项错误,this 只有在普通的成员方法中,静态方法中是没有的。
B 选项正确
C 选项错误,this 指针是指向当前对象的指针
D 选项错误,this 指针是指向当前对象的指针
this 是 C++ 中的一个关键字,也是一个 const 指针,它指向当前对象,通过它可以访问当前对象的所有成员。所谓当前对象,是指正在使用的对象。例如对于stu.show();,stu 就是当前对象,this 就指向 stu。
this 实际上是成员函数的一个形参,在调用成员函数时将对象的地址作为实参传递给 this。不过 this 这个形参是隐式的,它并不出现在代码中,而是在编译阶段由编译器默默地将它添加到参数列表中。
this 作为隐式形参,本质上是成员函数的局部变量,所以只能用在成员函数的内部,并且只有在通过对象调用成员函数时才给 this 赋值。

this 指针知识点讲解】
更多C++基础专业知识讲解,点击链接即可查看
https://www.nowcoder.com/link/zxyl-cpp86
编辑于 2021-11-18 08:36:45 回复(0)
类内定义的静态方法不能指向实例本身,也就是没有this指针
发表于 2020-09-23 00:22:58 回复(0)
<p>在类中,所有成员函数都有this指针(this指针是成员函数的隐含参数)。</p><p>而,友元函数没有this指针,因为友元函数不是类的成员。</p><p>c++中每个对象都能通过this指针来访问自己的地址。</p>
发表于 2020-09-25 23:46:49 回复(0)
this指针在创建对象实例化的时候才会有,然后他指向调用类的  非静态  属性或者行为的对象
发表于 2020-08-04 20:11:16 回复(0)