このコードを見てください
int i = 10; //line 1
int *p = &i; //line 2
delete p; //line 3
cout << "*p = " << *p << ", i = " << i << endl; //line 4
i = 20; //line 5
cout << "*p = " << *p << ", i = " << i << endl; //line 6
*p = 30; //line 7
cout << "*p = " << *p << ", i = " << i << endl; //line 8
このコードの結果は何ですか?特に3、5、7行目は?それらは未定義の動作を呼び出しますか?出力はどうなりますか?
編集:g ++を使用して実行してみましたが、コンパイルして正常に実行されています!私はWindows7でMinGWを使用しています。
この文脈でスタンダードは何と言っていますか?