1.每个成员函数(包括构造和析构)都有一个this指针。
2.在成员函数内部,this指针指向调用对象,即可以通过this关键字访问当前对象的成员。
:
(1)访问成员变量:
this->成员名;
(2)访问成员函数:
this->函数名();
this是指向对象的指针,而*this则指向对象的本体
:
student& stuAge(student &stu)
{
//Func
return *this;
}
若student&不加引用则会返回复制的那份student,引用则会返回student这个对象本体
3.this指针在成员函数执行前就已经存在,在析构后清除。
4.this指针的类型为类类型*const(类名 *const)为右值。
5.this指针本身不占用大小,他并不是对象的一部分,不会影响sizeof()的结果。
6.this的作用域在类成员函数的内部。
7.this指针是类成员函数的第一个默认隐含参数(const *类名 this),编译器自动维护传递,类编写者不能显式传递。
8.只有在类的非静态成员函数中才可以使用this指针,其他任何函数都不可以。
9.this指针作用:
(1)解决名称冲突
(2)可以用来返回当前对象的引用。
10.任何对类成员的直接访问(使用成员访问运算符::)都可被看作是对this的隐式引用。