ポインタに関していくつか質問があります。初め:
ObjectType *p;
p->writeSomething();
ポインターが初期化されていないときにオブジェクトのメソッドを呼び出すことができるのはなぜですか? そのコードを実行すると、コンソール ウィンドウに "writeSomething()" からの出力が表示されます。2番:
ObjectType *p;
if(p==NULL)
cout<<"Null pointer";//This is printed out
p = new ObjectType;
delete p;
if(p==NULL)
cout<<"Null pointer";
else
cout<<"Pointer is not null";//This is printed out
2 番目の if ステートメントでポインターが null にならないのはなぜですか? また、ポインターがメモリ アドレスを指していないかどうかを確認するにはどうすればよいですか? プログラムの実行が完了したときに一部のメモリが解放されていないかどうかを確認する方法があるかどうかも疑問に思っています。たとえば、コードに 1 つの delete ステートメントを書き忘れた場合。