C++空指针访问成员函数
对象模型和this指针
在c++种,类内的成员变量和成员函数是分开存储的。只有非静态成员变量才是属于类的对象本身。
也因此只有非静态成员变量占用对象空间。
静态成员变量和静态成员函数,已经非静态成员函数都不占对象空间。所有的对象共享一个函数实例。
因此当不同对象调用函数时候,需要使用到this指针来区分是哪个对象调用了这个函数。

所以当创建一个类的指针,并且赋予空指针的时候。这个指针也可以访问成员函数。但是成员函数要是用到了this指针,就不能使用空指针访问成员函数。
所以可以在使用到this指针的函数前做出对this!=nullptr的判定,以此增加代码的健壮性。

浙公网安备 33010602011771号