Пожалуйста, посмотрите на этот код
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++, и он компилируется и работает нормально! Я использую MinGW в Windows 7.
Что стандарт говорит в этом контексте?
new
. 03.12.2010