可能重复:
访问NULL指针上的类成员
一个非常愚蠢的问题或者可能是我的概念疑问.
#include <iostream>
using namespace std;
class A
{
public:
void print()
{
cout<<"Printing\n";
}
};
int main()
{
A * a = NULL;
a->print();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出是:打印
如何为a
指针(即NULL)能够访问A类的成员函数
请解释......可能只是一个愚蠢的问题,但我的印象是NULL指针不会访问类的成员函数.
NULL
像在代码中一样取消引用指针是未定义的行为.这种不确定性的可能性之一是它可能正常工作.但它可能会在下一次崩溃,或做一些完全出乎意料的事情.
因为你没有this
在你的成员函数中使用隐式参数print
,所以看起来像这样的NULL
指针永远不需要实际被解除引用.