История изменений
Исправление slovazap, (текущая версия) :
А почему тогда память где остается реализация методов класса не очищается?
Реализация методов класса - это код, который никогда не изменяется и никак не зависит от времени жизни объектов класса. Если ты имел в виду данные объекта, то зачем это они должны очищаться?
В твоём примере ты вообще не обращаешься к this, и состояние объекта ни на что не влияет. А мог бы даже успешно обратиться к полю, поскольку память где был расположен объект могла остаться доступной программе и даже не быть кем-то переписанной. В другом случае мог бы прочитать мусор, в третьем упасть, в четвёртом это даже не скомпилируется.
Исправление slovazap, :
А почему тогда память где остается реализация методов класса не очищается?
Реализация методов класса - это код, который никогда не изменяется и никак не зависит от времени жизни объектов класса. Если ты имел в виду данные объекта, то зачем это они должны очищаться?
В твоём примере ты вообще не обращаешься к this, и состояние объекта ни на что не влияет. А мог бы даже успешно обратиться к полю, поскольку память где был расположен объект могла остаться доступной программе и даже не быть кем-то переписанной. В другом случае мог бы прочитать мусор, в третьем упасть, у четвёртом это даже не скомпилируется.
Исправление slovazap, :
А почему тогда память где остается реализация методов класса не очищается?
Реализация методов класса - это код, который никогда не изменяется и никак не зависит от времени жизни объектов класса. Если ты имел в виду данные объекта, то зачем это они должны очищаться?
В твоём примере ты вообще не обращаешься к this, и состояние объекта ни на что не влияет. А мог бы даже успешно обратиться к полю, поскольку память где он был могла остаться доступной программе и даже не быть кем-то переписанной. Но это UB, поэтому в общем случае не работает ни в каком виде.
Исправление slovazap, :
А почему тогда память где остается реализация методов класса не очищается?
Реализация методов класса - это код, который никогда не изменяется и никак не зависит от времени жизни объектов класса. Если ты имел в виду данные объекта, то зачем это они должны очищаться?
В твоём примере ты вообще не образаешься к this, и состояние объекта ни на что не влияет. А мог бы даже успешно обратиться к полю, поскольку память где он был могла остаться доступной программе и даже не быть кем-то переписанной. Но это UB, поэтому в общем случае не работает ни в каком виде.
Исправление slovazap, :
А почему тогда память где остается реализация методов класса не очищается?
Реализация методов класса - это код, который никогда не изменяется и никак не зависит от времени жизни объектов класса. Если ты имел в виду данные объекта, то зачем это они должны очищаться?
Исходная версия slovazap, :
А почему тогда память где остается реализация методов класса не очищается?
Реализация методов класса - это код, который никогда не изменяется и никак не зависит от времени жизни объектов класса.