请看这段代码
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++ 运行它,它正在编译和运行良好!我在 Windows 7 上使用 MinGW。
标准在这种情况下怎么说?