C ++ - Выделение памяти в куче с использованием «нового»

Если у меня есть следующий оператор:

int * x = new int;

В этом случае я выделяю память в куче динамически. Другими словами, теперь у меня есть зарезервированный адрес памяти для объекта int .

Скажем, после этого я сделал следующее:

delete x;

Который означает, что я освободил адрес памяти в куче.

Скажем, после этого я снова сделал следующее:

int * x = new int;

Будет ли x указывать на тот же старый адрес памяти, на который он указывал в куче перед удалением?

Что, если бы я сделал это до того, как удаляю ]:

x = NULL;

И затем сделал следующее:

int * x = new int;

Будет ли x указывать на адрес памяти в куче другой , чем старый?

Спасибо.

7
задан Simplicity 29 January 2011 в 14:52
поделиться