可能重复:
通过 NULL 类指针调用类方法
#include <iostream>
using namespace std;
class test
{
int i;
public:
test():i(0){ cout << "ctor called" << endl;}
void show()
{
cout<<"show fun called"<<endl;
}
};
int main(int argc , char *argv[])
{
test *ptr = NULL;
ptr->show();
return 0;
}
显然,不会调用任何ctor。这是标准吗?或者只是一些编译器优化,因为这个指针没有在 show() 成员函数中使用?