C++空指针访问成员函数

对象模型和this指针

在c++种,类内的成员变量和成员函数是分开存储的。只有非静态成员变量才是属于类的对象本身。

也因此只有非静态成员变量占用对象空间。

静态成员变量和静态成员函数,已经非静态成员函数都不占对象空间。所有的对象共享一个函数实例。

因此当不同对象调用函数时候,需要使用到this指针来区分是哪个对象调用了这个函数。

 

 

所以当创建一个类的指针,并且赋予空指针的时候。这个指针也可以访问成员函数。但是成员函数要是用到了this指针,就不能使用空指针访问成员函数。

所以可以在使用到this指针的函数前做出对this!=nullptr的判定,以此增加代码的健壮性。

posted @ 2022-03-23 07:11  AFK_W  阅读(59)  评论(0)    收藏  举报