id
объекта гарантированно будет постоянным в течение всего срока службы объекта. Таким образом, было бы нарушением спецификации функции id
, если бы этот список id
изменился, и вы создали только один список, чтобы не было двух объектов списка с разными id
s.
. на практике работает то, что сам объект списка остается в той же области памяти, но он содержит (частную) ссылку на резервный массив. Когда необходимо изменить емкость массива, создается новый резервный массив и содержимое копируется. Ссылка (частная) ссылка на объект списка обновляется, чтобы указывать на новый резервный массив, но сам объект списка не был перемещен в памяти.
Я написал более подробное объяснение того, какЭто работает, в том числе интерактивный пример, который показывает диаграммы и указатели объекта списка и массива поддержки. Это может оказаться полезным для понимания того, что на самом деле происходит в памяти при изменении размера резервного массива.