Пока я использовал оператор удаления для указателей, я увидел нечто, чего я не мог понять.Я думаю, что лучше всего показать это на примере:
#include <iostream>
using namespace std;
int main() {
int* p = new int[5]{3, 4, 5, 6, 7};
cout << p[0] << p[1] << p[2] << p[3] << p[4] << '\n';
delete[] p;
cout << p[0] << p[1] << p[2] << p[3] << p[4] << '\n';
return 0;
}
Результат:
34567
00567
После операции удаления, почему первые два элемента превратились в нули?Спасибо за внимание.Я с нетерпением жду ваших ответов.