おい、deleteってなんやねん!ゴルァ!

VS2008のC++です。

	int* p;
	p = new int();
	*p = 123;
	cout << *p << endl;
	cout << p << endl;
	delete p;
	cout << *p << endl;//一応変な値にはなったが、本当はポトリ、とプログラムが落ちる予定なのです。
	cout << p << endl;//ポインタ値そのものはまぁ、かわんないですよね。OK
	*p = 124;//だがそのあと通ってしまい、ポトリ、とプログラムが落ちる予定なのです。
	cout << *p << endl;//出力できる、と。

123
00396948
-17891602
00396948
124

むむむ。わからん。わからんぞ!なにこれキモイ。
p = 0って入れとけばまぁ、いいのかもしれませんね。精神衛生上。
http://d.hatena.ne.jp/strkpy/20090317/1237266984
って噂もあるそうですが。ふーむ。