[C++]类的空指针调用成员函数后,会发生什么事?
类的实例调用成员函数的原理 其实不管是通过对象实例或指针实例调用,其实底层调用的过程都是一样的,都是把当前对象的指针作为一个参数传递给被调用的成员函数。通过下面的相关实例代码进行检验: 实验的C++代码 class Student { private: int age; public: Student() {} Student(int age) : age(age) {} int getAge() { return this->age; } }; int main(int argc, char const *argv[]) { Student s(10); int age = s.getAge(); Student* ps = new Student(10); age = ps->getAge(); return 0; } 基于VS2015调试功能的反汇编代码 int main(int argc, char const *argv[]) { 00A41860 push ebp 00A41861 mov ebp,esp 00A41863 push 0FFFFFFFFh 00A41865 push 0A461D2h 00A4186A mov eax,dword ptr fs:[00000000h] 00A41870 push eax 00A41871 sub esp,104h