утечки памяти — Реализация связанного списка в безопасной конструкции?

Вот это реализация связанного списка. Все нормально, работает. Но меня беспокоит несколько строк (комментарии внутри метода мои):

//insertion at the start of linklist
public function insertFirst($data)
{
$link = new ListNode($data);     // create local variable
$link->next = $this->firstNode;
$this->firstNode = &$link;       // and remember the reference to it in $this->firstNode

Редактировать:
Позвольте мне проанализировать этот метод построчно:
L1. Мы создаем локальную переменную: $ link.
L2. Не имеет значения
L3. В свойстве firstNode мы сохраняем ссылку на локальную переменную.

ОК, все ясно. Но в конце этого метода локальная переменная ($ link) будет уничтожена. Таким образом, в ‘firstNode’ у нас есть ссылка на несуществующую переменную. Место в памяти, где хранилась переменная $ link, теперь свободно. PHP может хранить там что-то новое. Не так ли?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]