问题描述
- 刚学C++,关于C++类中this指针的疑惑
-
1.我们为什么要学习使用this指针?
2.什么时候使用this指针比较好?
(感谢您的回答)
解决方案
- this指针的用处:
一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候也是加上this的,它作为非静态成员函数的隐含形参,对各成员的访问均通过this进行。
2......
答案就在这里:C++ 类中的this指针
解决方案二:
this指针,实际上是指向这个对象的指针。this指针只能在这个对象中使用了。在这个对象中可以使用这个对象的任何数据、函数等。
有时也为了明确参数。如 某个类定义中是这样的:
class A {
private int iNum =0;
.......
void opSome(int iNum, int iDelta)
{
this.iNum = iNum; // !!!!!!!!!!!!!!
....
}
}
解决方案三:
当做比较大的项目时,一些类是其他基类的派生类,我们想调用基类的某个成员函数或者成员变量时,但我们并不知道基类到底是什么,此时,使用this指针指向当前对象,即可调用它的成员函数或成员变量。
解决方案四:
this指针就是一个隐含的当前类的实例对象指针,通过它,你可以访问当前这个实例的成员函数,变量等。主要用来支持描述面向对象的思想
解决方案五:
this指针就是一个隐含的当前类的实例对象指针,通过它,你可以访问当前这个实例的成员函数,变量等。
我举个例子,
类里面有name属性,而构造函数的参数名字也是name,这时候需要用构造函数里的name初始化属性name,那么这时候两个不能同时在构造函数里使用,所以要使用this,如:this.name=name
时间: 2024-12-02 23:49:34