this 指针的作用
它的作用是指向成员函数作用于的对象,所以非静态您可以在成员函数中直接使用它来表示指向该函数所作用的对象的指针。
以下示例可以说明其作用:
输出结果:
20000
20000
接下来,我们看下面的代码,您认为输出结果是什么?会出错吗?
答案是正常输出问候。您可能对p指针为空这一事实感到好奇。程序不应该崩溃吗?不用担心,我们可以先将以上代码转换为C程序,以了解其正常工作的原因。
所以实际上每个成员函数的第一个参数默认都有一个指向对象的this指针在上述情况下,如果此指针指向的对象为空,即等于成员函数的第一个参数为NULL,则只要成员函数不使用成员变量,就可以正常执行。
然后,当执行以下代码时,它将崩溃,因为this指针为空,并且如果使用空指针指向成员变量i,则程序将崩溃。
总结:
通过将C ++程序转换为C程序,以了解此指针,其作用是指向非静态成员函数的对象,每个成员函数的第一个参数实际上都有一个默认的this指针参数。
静态成员函数不能使用此指针。