重複の可能性:
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() メンバー関数で使用されていないため、コンパイラーの最適化だけですか?