为什么需要this?因为this作用域是在类的内部,自己声明一个类的时候,还不知道实例化对象的名字,所以用this来使用对象变量的自身。在非静态成员函数中,编译器在编译的时候加上this作为隐含形参,通过this来访问各个成员(即使你没有写上this指针)。例如a.fun(1)<==等价于==>fun(&a,1)
this指针帮助类函数寻找到对象数据(数据成员)。内存中一个类的大小只有数据的大小,没有函数的大小,因为函数块和数据分开存且只存放一份。
为什么需要this?因为this作用域是在类的内部,自己声明一个类的时候,还不知道实例化对象的名字,所以用this来使用对象变量的自身。在非静态成员函数中,编译器在编译的时候加上this作为隐含形参,通过this来访问各个成员(即使你没有写上this指针)。例如a.fun(1)<==等价于==>fun(&a,1)
this指针帮助类函数寻找到对象数据(数据成员)。内存中一个类的大小只有数据的大小,没有函数的大小,因为函数块和数据分开存且只存放一份。