Почему не удаляет уничтожить что-нибудь?
Я немного играю с динамическим распределением памяти, но не понимаю. При выделении некоторой памяти сnew
Заявление, я должен быть в состоянии уничтожить память, на которую указывает указательdelete
.
Но когда я пытаюсь, этоdelete
Команда не работает, так как пространство, на которое указывает указатель, похоже, не было освобождено.
Давайте возьмем этот действительно базовый кусок кода в качестве примера:
#include <iostream>
using namespace std;
int main()
{
//I create a pointer-to-integer pTest, make it point to some new space,
// and fulfill this free space with a number;
int* pTest;
pTest = new int;
*(pTest) = 3;
cout << *(pTest) << endl;
// things are working well so far. Let's destroy this
// dynamically allocated space!
delete pTest;
//OK, now I guess the data pTest pointed to has been destroyed
cout << *(pTest) << endl; // Oh... Well, I was mistaking.
return 0;
}
Любая подсказка?