-
当定义了一个类的若干对象后,系统会为每一个对象分配存储空间。
-
如果一个类包含了数据成员和成员函数,就要分别为数据和函数的代码分配存储空间。
-
事实上,给对象赋值就是给对象的数据成员赋值,不同对象的存储单元中存放的数据值通常是不同的,而不同对象的函数代码是相同的,不论调用哪一个对象的成员函数,其实调用的都是相同内容的代码。
-
每个对象的存储空间都只是该对象的数据成员所占用的存储空间,而不包括成员函数代码所占用的空间,函数代码是存储在对象空间之外的。
-
每个对象都有属于自己的数据成员,但是所有对象的成员函数代码却合用一份。
-
this 指针,称为自引用指针。每当创建一个对象时,系统就把 this 指针初始化为指向该对象,即 this 指针的值是当前调用成员函数的对象的起始地址。
-
this 指针是隐式使用的,它是作为参数被传递给成员函数的。
-
例如,当调用成员函数 a.disp 时,编译系统就把对象 a 的起始地址赋给 this 指针,于是在成员函数引用数据成员时:
cout<<“x=”<< this->x <<endl;
相当于执行:
cout<<“x=”<<a.x<<endl; -
this 指针的作用:每当调用一个成员函数时,系统就自动把 this 指针作为一个隐含的参数传给该函数。不同的对象调用同一个成员函数时,C++编译器将根据成员函数的 this 指针所指向的对象来确定应该引用哪一个对象
this 指针(C++学习笔记 22)
最新推荐文章于 2021-07-21 21:16:06 发布
C++中的this指针是一个隐式传递的指针,用于指向调用成员函数的对象。每个对象在创建时,this指针会被初始化为指向该对象的地址。成员函数通过this指针访问和操作相应对象的数据成员,使得不同对象能调用相同的函数代码但操作各自的成员。在调用成员函数时,this指针作为隐含参数传递,确保了正确引用对象的数据成员。
摘要由CSDN通过智能技术生成