1. 程式人生 > 其它 >關於new和delete動態開闢釋放記憶體我的一個小誤區

關於new和delete動態開闢釋放記憶體我的一個小誤區

技術標籤:c++指標記憶體管理

我在學習動態開闢和釋放記憶體的時候,在我執行下面程式碼時,發現用delete釋放掉後,該指標仍然可以使用,說明delete釋放掉的是存放物件的空間,而原來的指標仍然存在,可以繼續使用。

class Point
{
public:
	Point()
	{
		cout<<"呼叫建構函式"<<endl;
	}
	~Point()
	{
		cout<<"呼叫解構函式"<<endl;
	}
};

int main()
{
	Point* p = new Point;//在堆區開闢一塊空間存放Point物件,用P指標它
delete p; cout << p << endl; Point p1; p = &p1;//原來的P指標仍然可以指向一個Point物件 return 0; }

程式碼執行結果:
在這裡插入圖片描述