原理
this指针是什么?
1.this指针是类的指针,指向对象的首地址。
2.成员函数默认会隐式的包含this指针形参
3.在成员函数中所有对成员变量的调用都会默认转换成用this指针对成员变量的调用
4.this指针只能在成员函数中使用,在全局函数、静态成员函数中都不能用this。
5.在成员函数中调用delete this会出现什么问题?
当调用delete this时,类对象的内存空间被释放。在delete this之后进行的其他任何函数调用,
只要不涉及到this指针的内容,都能够正常运行。一旦涉及到this指针,
如操作数据成员,调用虚函数等,就会出现不可预期的问题。
使用
#include
#include
using namespace std;
//c 下的this指针
class student
{
public:
int age;
student()=default;
void setage(){
age=13;
// this->age=13;
}
};
//等效于c语言下的struct
struct student_c{
int age;
};
void setage(student_c *stu){
stu->age=13;
}
int main(){
student_c stu_c;
student stu;
stu.setage();
setage(&stu_c);
cout<<"cpp stu age: "<